diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-26 16:47:24 -0500 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-26 16:47:24 -0500 |
commit | d5e3bc615b300eb985d59b91ebd1f2f1a4d4e107 (patch) | |
tree | 7356a6796ff166a85b8f7accb20e82596f200a63 /src/character_system.cpp | |
parent | 46bf85e7b85b8d3e61f0d2b276450c4f439b5c30 (diff) | |
download | tanetane-d5e3bc615b300eb985d59b91ebd1f2f1a4d4e107.tar.gz tanetane-d5e3bc615b300eb985d59b91ebd1f2f1a4d4e107.tar.bz2 tanetane-d5e3bc615b300eb985d59b91ebd1f2f1a4d4e107.zip |
Added first underwater map
Also spruced up the event that takes you there. Also fixed an issue where transplantParty wouldn't take the medium of the new position into consideration. Also added a constructor to the lua version of vec2i.
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 | ||