@@ -80,6 +80,8 @@ export class AAHelpers {
8080 return AAHelpers . typeCheckSWADE ( canvasToken , type ) ;
8181 case "dnd4e" :
8282 return AAHelpers . typeCheck4e ( canvasToken , type ) ;
83+ case "demonlord" :
84+ return AAHelpers . typeCheckDemonLord ( canvasToken , type ) ;
8385 }
8486 }
8587
@@ -220,6 +222,43 @@ export class AAHelpers {
220222 return false ;
221223 }
222224
225+ static typeCheckDemonLord ( canvasToken , type ) {
226+ if ( type ?. trim ( ) === "any" ) return true ;
227+ const actorData = canvasToken ?. actor ;
228+ let tokenTypes ;
229+ switch ( canvasToken . actor . type ) {
230+ case "character" :
231+ {
232+ try {
233+ tokenTypes = [ actorData ?. items . find ( ( i ) => i . type === "ancestry" ) ?. name ?. toLocaleLowerCase ( ) ]
234+ } catch ( error ) {
235+ Logger . error ( "ActiveAuras: the token has an unreadable type" , canvasToken ) ;
236+ }
237+ }
238+ break ;
239+ case "creature" :
240+ {
241+ try {
242+ if ( actorData . system . descriptor . toLocaleLowerCase ( ) . includes ( '(' ) )
243+ {
244+ let descriptor = actorData . system . descriptor . toLocaleLowerCase ( )
245+ descriptor = descriptor . replace ( ")" , "" )
246+ tokenTypes = descriptor . replace ( "(" , "" ) . split ( " " )
247+ }
248+ else
249+ tokenTypes = [ actorData . system . descriptor . toLocaleLowerCase ( ) ]
250+ } catch ( error ) {
251+ Logger . error ( "ActiveAuras: the token has an unreadable type" , canvasToken ) ;
252+ }
253+ }
254+ break ;
255+ case "vehicle" :
256+ return ;
257+ }
258+ if ( tokenTypes . includes ( type ) ) return true ;
259+ return false ;
260+ }
261+
223262 static Wildcard ( canvasToken , wildcard , extra ) {
224263 if ( game . system . id !== "swade" ) return true ;
225264 let Wild = canvasToken . actor . isWildcard ;
@@ -244,6 +283,12 @@ export class AAHelpers {
244283 // dead
245284 else return false ;
246285 }
286+ case "demonlord" : {
287+ const { max, value } = document . system . characteristics . health
288+ if ( ( value ) >= max ) return true ;
289+ // dead
290+ else return false ;
291+ }
247292 }
248293 }
249294
0 commit comments