@ -1,64 +1,49 @@
@@ -1,64 +1,49 @@
export const ENEMIES = {
chat _gremlin : {
id : "chat_gremlin " , name : "Old Man Judo" , maxHp : 40 ,
old _man _judo : {
id : "old_man_judo " , name : "Old Man Judo" , maxHp : 40 ,
avatar : "assets/avatars/13.png" , // Young person with cap
background : "assets/backgrounds/terrace.png" ,
ai : ( turn ) => turn % 3 === 0 ? { type : "block" , value : 6 } : { type : "attack" , value : turn % 2 === 0 ? 7 : 8 }
} ,
type _checker : {
id : "type_checker" , name : "Type Checker" , maxHp : 45 ,
avatar : "assets/avatars/type_checker.png" , // Scholar/mage with glasses
background : "assets/backgrounds/castle.png" ,
ai : ( turn ) => ( turn % 3 === 0 ) ? { type : "debuff" , value : 1 } : { type : "attack" , value : 8 } ,
onDebuff : ( ctx ) => ctx . applyWeak ( ctx . player , 1 )
} ,
js _blob : {
id : "js_blob" , name : "JS Blob" , maxHp : 60 ,
avatar : "assets/avatars/js_blob.png" , // Mysterious hooded figure
background : "assets/backgrounds/dead forest.png" ,
ai : ( turn ) => ( turn % 2 === 0 ) ? { type : "attack" , value : 12 } : { type : "block" , value : 6 } ,
onBlock : ( ctx , val ) => ctx . enemy . block += val
} ,
infinite _loop : {
id : "infinite_loop" , name : "Beastco" , maxHp : 35 ,
beastco : {
id : "beastco" , name : "Beastco" , maxHp : 35 ,
avatar : "assets/avatars/2.png" , // Dizzy/confused character
background : "assets/backgrounds/throne room.png" ,
ai : ( turn ) => ( { type : "attack" , value : 4 } ) ,
} ,
merge _conflict _enemy : {
id : "merge_conflict_enemy " , name : "Codegirl" , maxHp : 50 ,
avatar : "assets/avatars/merge_conflict_enemy .png" , // Warrior with conflicted expression
codegirl : {
id : "codegirl" , name : "Codegirl" , maxHp : 50 ,
avatar : "assets/avatars/codegirl.png" , // Warrior with conflicted expression
background : "assets/backgrounds/terrace.png" , // Repeat background
ai : ( turn ) => turn <= 4 ? { type : "attack" , value : 8 } : { type : "debuff" , value : 1 } ,
onDebuff : ( ctx ) => {
ctx . enemy . hp = Math . min ( ctx . enemy . maxHp , ctx . enemy . hp + 8 ) ;
ctx . log ( "Codegirl resolves the merge conflict and heals 8 HP!" ) ;
}
} ,
bug _404 : {
id : "bug_404" , name : "404 Bug" , maxHp : 45 ,
avatar : "assets/avatars/bug_404.png" , // Elusive character
background : "assets/backgrounds/castle.png" , // Repeat background
ai : ( turn ) => ( { type : "attack" , value : 10 } ) ,
} ,
elite _ts _demon : {
id : "elite_ts_demon" , name : "Nightshadedude" , maxHp : 85 ,
nightshadedude : {
id : "nightshadedude" , name : "Nightshadedude" , maxHp : 85 ,
avatar : "assets/avatars/11.png" , // Powerful demon/witch
background : "assets/backgrounds/dead forest.png" , // Repeat background
ai : ( turn ) => turn % 3 === 1 ? { type : "debuff" , value : 1 } : { type : "attack" , value : 14 } ,
onDebuff : ( ctx ) => ctx . applyVulnerable ( ctx . player , 1 )
} ,
elite _refactor : {
id : "elite_refactor" , name : "Refactor Dragon (Elite)" , maxHp : 90 ,
avatar : "assets/avatars/elite_refactor.png" , // Regal/noble character
background : "assets/backgrounds/throne room.png" , // Repeat background
ai : ( turn ) => ( { type : "attack" , value : 10 + Math . floor ( turn * 1.5 ) } )
defyusall : {
id : "defyusall" , name : "Defyusall" , maxHp : 65 ,
avatar : "assets/avatars/bug_404.png" , // Elusive character
background : "assets/backgrounds/castle.png" ,
ai : ( turn ) => turn % 3 === 0 ? { type : "block" , value : 8 } : { type : "attack" , value : 10 } ,
} ,
lithium : {
id : "lithium" , name : "Lithium" , maxHp : 55 ,
avatar : "assets/avatars/type_checker.png" , // Scholar/mage with glasses
background : "assets/backgrounds/dead forest.png" ,
ai : ( turn ) => ( turn % 2 === 0 ) ? { type : "debuff" , value : 1 } : { type : "attack" , value : 12 } ,
onDebuff : ( ctx ) => ctx . applyWeak ( ctx . player , 1 )
} ,
boss _birthday _bug : {
id : "boss_birthday_bug" , name : "Teej" , maxHp : 120 ,
teej : {
id : "teej " , name : "Teej" , maxHp : 120 ,
avatar : "assets/avatars/boss_birthday_bug.png" , // Demanding/angry character
background : "assets/backgrounds/throne room.png" , // Repeat background - fitting for boss
ai : ( turn ) => {