]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/vore.qc
Stomach leaving feature (alt fire button for prey). Allows prey to get out o their...
[voretournament/voretournament.git] / data / qcsrc / server / vore.qc
index 63139a5b7b2f22c17c9aa9cc3c41513372445905..10b486ba34ef3c9f09b15287a92b2282bb808b7e 100644 (file)
@@ -124,8 +124,11 @@ void Vore_Swallow(entity e)
        if(stov(cvar_string("g_vore_regurgitatecolor_released")))\r
                e.colormod = stov(cvar_string("g_vore_regurgitatecolor_released"));\r
 \r
-       if(e.eater.team == e.team && teamplay)\r
+       if(e.team == e.eater.team && teamplay)\r
+       {\r
+               centerprint(e, "^3You have been swallowed by a team mate, don't kick!");\r
                centerprint(e.eater, "^3You have swallowed a team mate, use caution!");\r
+       }\r
 \r
        PlayerSound(e.eater, playersound_swallow, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
        setanim(e.eater, e.eater.anim_pain1, FALSE, TRUE, TRUE); // looks good for swallowing / regurgitating\r
@@ -257,6 +260,23 @@ void Vore_StomachKick()
        }\r
 }\r
 \r
+void Vore_StomachLeave()\r
+{\r
+       // allows players to get out of their predator at will in some circumstances, such as team mates\r
+\r
+       float canleave;\r
+       canleave = (teams_matter && self.team == self.eater.team); // currently, the only circumstance where you can use this if for team mates\r
+\r
+       if(canleave)\r
+               Vore_Regurgitate(self);\r
+       else if(time > self.complain_swallow)\r
+       {\r
+               play2(self, "weapons/unavailable.wav");\r
+               sprint(self, strcat("You may not willingly get out of ", self.eater.netname, "\n"));\r
+               self.complain_swallow = time + complain_delay;\r
+       }\r
+}\r
+\r
 .float gurglesound_finished, gurglesound_oldstomachload;\r
 void Vore_Gurglesound()\r
 {\r
@@ -394,6 +414,8 @@ void Vore()
 \r
        if(self.BUTTON_ATCK)\r
                Vore_StomachKick();\r
+       else if(self.BUTTON_ATCK2)\r
+               Vore_StomachLeave();\r
 \r
        Vore_CameraEffect_Apply();\r
 }
\ No newline at end of file