diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index 609ec34d..0739c728 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -697,21 +697,17 @@ void dodamage(int damage, playerent *pl, playerent *actor, int gun, bool gib, bo void setkillmessage(int gun, bool gib, const char *message) { + if(!message || !*message) + { + result(killmessage(gun, gib)); + return; + } + if(gun < 0 || gun >= NUMGUNS) { conoutf("invalid gun specified"); return; } - if(strlen(message)==0) - { - conoutf("invalid message"); - return; - } - if(strlen(message)>MAXKILLMSGLEN) - { - conoutf("message is too long (max len is %i)", MAXKILLMSGLEN); - return; - } if(gib) formatstring(gibmessages[gun])("%s", message); else formatstring(fragmessages[gun])("%s", message); diff --git a/source/src/entity.h b/source/src/entity.h index 527115e6..7b7f3a0b 100644 --- a/source/src/entity.h +++ b/source/src/entity.h @@ -619,6 +619,8 @@ extern char fragmessages[NUMGUNS][MAXKILLMSGLEN]; extern char gibmessages[NUMGUNS][MAXKILLMSGLEN]; inline char *killmessage(int gun, bool gib = false) { + if(gun<0 || gun>=NUMGUNS) return ""; + if(gib) return gibmessages[gun]; else return fragmessages[gun]; }