diff options
Diffstat (limited to 'src/game/server')
| -rw-r--r-- | src/game/server/entities/character.cpp | 2 | ||||
| -rw-r--r-- | src/game/server/gamecontext.cpp | 12 | ||||
| -rw-r--r-- | src/game/server/gamecontext.hpp | 1 |
3 files changed, 14 insertions, 1 deletions
diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index cc0145b0..539e250d 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -306,7 +306,7 @@ void CHARACTER::fire_weapon() vec2 fdir = normalize(ents[i]->pos - pos); // set his velocity to fast upward (for now) - game.create_sound(pos, SOUND_HAMMER_HIT); + game.create_hammerhit(pos); ents[i]->take_damage(vec2(0,-1.0f), data->weapons.hammer.base->damage, player->client_id, active_weapon); vec2 dir; if (length(target->pos - pos) > 0.0f) diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index a36a9144..76609fe6 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -45,6 +45,18 @@ void GAMECONTEXT::create_damageind(vec2 p, float angle, int amount) } } +void GAMECONTEXT::create_hammerhit(vec2 p) +{ + // create the event + NETEVENT_HAMMERHIT *ev = (NETEVENT_HAMMERHIT *)events.create(NETEVENTTYPE_HAMMERHIT, sizeof(NETEVENT_HAMMERHIT)); + if(ev) + { + ev->x = (int)p.x; + ev->y = (int)p.y; + } +} + + void GAMECONTEXT::create_explosion(vec2 p, int owner, int weapon, bool bnodamage) { // create the event diff --git a/src/game/server/gamecontext.hpp b/src/game/server/gamecontext.hpp index 6e833178..106efd5f 100644 --- a/src/game/server/gamecontext.hpp +++ b/src/game/server/gamecontext.hpp @@ -58,6 +58,7 @@ public: void create_damageind(vec2 p, float angle_mod, int amount); void create_explosion(vec2 p, int owner, int weapon, bool bnodamage); void create_smoke(vec2 p); + void create_hammerhit(vec2 p); void create_playerspawn(vec2 p); void create_death(vec2 p, int who); void create_sound(vec2 pos, int sound, int mask=-1); |