diff options
Diffstat (limited to 'src/character_system.cpp')
| -rw-r--r-- | src/character_system.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
| diff --git a/src/character_system.cpp b/src/character_system.cpp index d18c592..a24bdcc 100644 --- a/src/character_system.cpp +++ b/src/character_system.cpp | |||
| @@ -46,10 +46,12 @@ void CharacterSystem::addSpriteToParty(int leaderId, int followerId) { | |||
| 46 | void CharacterSystem::transplantParty(int leaderId, vec2i pos, Direction dir) { | 46 | void CharacterSystem::transplantParty(int leaderId, vec2i pos, Direction dir) { |
| 47 | Sprite& leader = game_.getSprite(leaderId); | 47 | Sprite& leader = game_.getSprite(leaderId); |
| 48 | CharacterState oldState = leader.characterState; | 48 | CharacterState oldState = leader.characterState; |
| 49 | CharacterMedium newMedium = game_.getSystem<TransformSystem>().getMediumAtPosition(leaderId, pos); | ||
| 49 | 50 | ||
| 50 | std::vector<int> followers = leader.followers; | 51 | std::vector<int> followers = leader.followers; |
| 51 | leader.followers.clear(); | 52 | leader.followers.clear(); |
| 52 | leader.trailsAreHalved = false; | 53 | leader.trailsAreHalved = false; |
| 54 | leader.characterMedium = newMedium; | ||
| 53 | 55 | ||
| 54 | game_.getSystem<TransformSystem>().moveSprite(leaderId, pos); | 56 | game_.getSystem<TransformSystem>().moveSprite(leaderId, pos); |
| 55 | game_.getSystem<AnimationSystem>().setSpriteDirection(leaderId, dir); | 57 | game_.getSystem<AnimationSystem>().setSpriteDirection(leaderId, dir); |
| @@ -60,6 +62,7 @@ void CharacterSystem::transplantParty(int leaderId, vec2i pos, Direction dir) { | |||
| 60 | 62 | ||
| 61 | game_.getSystem<TransformSystem>().moveSprite(followerId, pos); | 63 | game_.getSystem<TransformSystem>().moveSprite(followerId, pos); |
| 62 | game_.getSystem<AnimationSystem>().setSpriteDirection(followerId, dir); | 64 | game_.getSystem<AnimationSystem>().setSpriteDirection(followerId, dir); |
| 65 | follower.characterMedium = newMedium; | ||
| 63 | addSpriteToParty(leaderId, followerId); | 66 | addSpriteToParty(leaderId, followerId); |
| 64 | } | 67 | } |
| 65 | 68 | ||
