package Ġworld . greg s . void ps . world . interact . entity . effect Ċ Ċ import Ġworld . greg s . void ps . engine . entity .* Ċ import Ġworld . greg s . void ps . engine . entity . character . Character Ċ import Ġworld . greg s . void ps . engine . entity . character . npc . NPC Ċ import Ġworld . greg s . void ps . engine . entity . character . npc . flag Transform Ċ import Ġworld . greg s . void ps . engine . entity . character . player . Player Ċ import Ġworld . greg s . void ps . engine . entity . character . player . appearance Ċ import Ġworld . greg s . void ps . engine . entity . character . player . flag Appearance Ċ import Ġworld . greg s . void ps . engine . entity . definition . NPC Definitions Ċ import Ġworld . greg s . void ps . engine . event . on Ċ import Ġworld . greg s . void ps . engine . map . collision . Collision Strategy Ċ import Ġworld . greg s . void ps . engine . map . collision . Collision Strategy Provider Ċ import Ġworld . greg s . void ps . engine . path . traverse .* Ċ import Ġworld . greg s . void ps . engine . utility . inject Ċ Ċ val Ġcollision : ĠCollision Strategy Provider Ġby Ġinject () Ċ val Ġdefinitions : ĠN PC Definitions Ġby Ġinject () Ċ Ċ on < Effect Start >({ Ġeffect Ġ== Ġ" transform " Ġ}) Ġ{ Ġcharacter : ĠCharacter Ġ-> ĊĠĠĠ Ġval Ġdef Ġ= Ġdefinitions . get ( character [" transform ", Ġ"" ]) ĊĠĠĠ Ġcharacter [" old _ collision "] Ġ= Ġcharacter . collision ĊĠĠĠ Ġcharacter . collision Ġ= Ġcollision . get ( def ) ĊĠĠĠ Ġif Ġ( def [" sw im ", Ġfalse ] Ġ|| Ġdef . size Ġ!= Ġcharacter . size . width ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcharacter [" old _ traversal "] Ġ= Ġcharacter . traversal ĊĠĠĠĠĠĠĠ Ġcharacter . traversal Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef [" sw im ", Ġfalse ] Ġ-> ĠSw im Traversal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef . size Ġ== Ġ 1 Ġ-> ĠSmall Traversal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef . size Ġ== Ġ 2 Ġ-> ĠMedium Traversal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠLarge Traversal ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ on < Effect Stop >({ Ġeffect Ġ== Ġ" transform " Ġ}) Ġ{ Ġplayer : ĠPlayer Ġ-> ĊĠĠĠ Ġplayer . size Ġ= ĠSize . ONE ĊĠĠĠ Ġplayer . appearance . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġem ote Ġ= Ġ 1 4 2 6 ĊĠĠĠĠĠĠĠ Ġtransform Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġsize Ġ= ĠSize . ONE . width ĊĠĠĠĠĠĠĠ Ġidle Sound Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġcrawl Sound Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġwalk Sound Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġrun Sound Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġsound Distance Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĠĠĠ Ġplayer . clear (" transform ") ĊĠĠĠ Ġplayer . flag Appearance () ĊĠĠĠ Ġplayer . remove < Collision Strategy >(" old _ collision ") ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . collision Ġ= Ġit ĊĠĠĠ Ġ} ĊĠĠĠ Ġplayer . remove < Tile Traversal Strategy >(" old _ traversal ") ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . traversal Ġ= Ġit ĊĠĠĠ Ġ} Ċ } Ċ Ċ on < Effect Stop >({ Ġeffect Ġ== Ġ" transform " Ġ}) Ġ{ Ġnpc : ĠN PC Ġ-> ĊĠĠĠ Ġnpc . visual s . transform . reset () ĊĠĠĠ Ġnpc . clear (" transform ") ĊĠĠĠ Ġnpc . flag Transform () ĊĠĠĠ Ġnpc . remove < Collision Strategy >(" old _ collision ") ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġnpc . collision Ġ= Ġit ĊĠĠĠ Ġ} ĊĠĠĠ Ġnpc . remove < Tile Traversal Strategy >(" old _ traversal ") ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġnpc . traversal Ġ= Ġit ĊĠĠĠ Ġ} Ċ }