From 30122ca61aff790e10b54877b0d6c38f8662b9ef Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 8 Feb 2015 04:10:58 +1100 Subject: [PATCH] Give some touched items to the rider while riding monsters --- qcsrc/server/mutators/mutator_buffs.qc | 5 +++++ qcsrc/server/mutators/mutator_piggyback.qc | 8 ++++---- qcsrc/server/t_items.qc | 3 +++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/qcsrc/server/mutators/mutator_buffs.qc b/qcsrc/server/mutators/mutator_buffs.qc index c5fcefd9e..84b400dae 100644 --- a/qcsrc/server/mutators/mutator_buffs.qc +++ b/qcsrc/server/mutators/mutator_buffs.qc @@ -131,6 +131,11 @@ void buff_Touch() return; } + if(IS_MONSTER(other)) + if(cvar("g_piggyback")) + if(other.piggybacker) + other = other.piggybacker; + if(cvar("g_piggyback")) if(other.buffs) if(other.buffs == self.buffs || !other.cvar_cl_buffs_autoreplace) diff --git a/qcsrc/server/mutators/mutator_piggyback.qc b/qcsrc/server/mutators/mutator_piggyback.qc index da8aacc75..ea8cbfad3 100644 --- a/qcsrc/server/mutators/mutator_piggyback.qc +++ b/qcsrc/server/mutators/mutator_piggyback.qc @@ -170,17 +170,17 @@ MUTATOR_HOOKFUNCTION(pb_PlayerThink) pb_FixPBEnt(self); if(IS_MONSTER(self.pbhost)) - if(self.movement || (self.BUTTON_JUMP || self.BUTTON_CROUCH)) - if(!self.pbhost.enemy) + if(self.movement || self.BUTTON_JUMP || self.BUTTON_CROUCH) + //if(!self.pbhost.enemy) // if player is trying to move, don't override { float forw, rit, updown = 0; vector wishvel = '0 0 0'; makevectors(self.angles); if(self.BUTTON_JUMP) - updown = 500; + updown = 300; else if(self.BUTTON_CROUCH) - updown = -500; + updown = -300; if(self.movement) { diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index 5e33698b3..31799ac16 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -638,6 +638,9 @@ void Item_Touch (void) } } + if(cvar("g_piggyback") && IS_MONSTER(other) && other.piggybacker && IS_PLAYER(other.piggybacker)) + other = other.piggybacker; // the piggyback mutator hook will do the rest + if (!IS_PLAYER(other)) return; if (other.frozen) -- 2.39.2