X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fmutator_minstagib.qc;h=20811ad50815a4906ef0a37eb5c9a95de5f6111b;hb=f28b18141d51b2aa60964a30c39322ec130e3817;hp=10f5d4959c946cc2fffe50053c1b7425a0d44460;hpb=710bd999520e108b463017cb23793ca0709075f6;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/mutator_minstagib.qc b/qcsrc/server/mutators/mutator_minstagib.qc index 10f5d4959..20811ad50 100644 --- a/qcsrc/server/mutators/mutator_minstagib.qc +++ b/qcsrc/server/mutators/mutator_minstagib.qc @@ -6,7 +6,7 @@ void spawnfunc_item_minst_cells (void) StartItem ("models/items/a_cells.md3", "misc/itempickup.wav", 45, 0, - "Vaporizer Ammo", IT_CELLS, 0, 0, generic_pickupevalfunc, 100); + "MinstaNex Ammo", IT_CELLS, 0, 0, generic_pickupevalfunc, 100); } void minstagib_health_mega() @@ -109,6 +109,22 @@ MUTATOR_HOOKFUNCTION(minstagib_MatchEnd) return FALSE; } +MUTATOR_HOOKFUNCTION(minstagib_MonsterLoot) +{ + other.monster_loot = spawnfunc_item_minst_cells; + + return FALSE; +} + +MUTATOR_HOOKFUNCTION(minstagib_MonsterSpawn) +{ + // always refill ammo + if(self.monsterid == MON_MAGE) + self.skin = 1; + + return FALSE; +} + MUTATOR_HOOKFUNCTION(minstagib_BotShouldAttack) { if(checkentity.items & IT_STRENGTH) @@ -135,6 +151,12 @@ MUTATOR_HOOKFUNCTION(minstagib_PlayerPreThink) return FALSE; } +MUTATOR_HOOKFUNCTION(minstagib_PlayerRegen) +{ + // no regeneration in minstagib + return TRUE; +} + MUTATOR_HOOKFUNCTION(minstagib_PlayerPowerups) { if (!(self.effects & EF_FULLBRIGHT)) @@ -203,7 +225,6 @@ MUTATOR_HOOKFUNCTION(minstagib_SplitHealthArmor) MUTATOR_HOOKFUNCTION(minstagib_ForbidThrowing) { // weapon dropping on death handled by FilterItem - nades_CheckThrow(); return TRUE; } @@ -224,7 +245,7 @@ MUTATOR_HOOKFUNCTION(minstagib_PlayerDamage) } if(IS_PLAYER(frag_attacker)) - if(DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER)) + if(DEATH_ISWEAPON(frag_deathtype, WEP_MINSTANEX)) if(frag_target.armorvalue) { frag_target.armorvalue -= 1; @@ -235,7 +256,7 @@ MUTATOR_HOOKFUNCTION(minstagib_PlayerDamage) } if(IS_PLAYER(frag_attacker)) - if(DEATH_ISWEAPON(frag_deathtype, WEP_BLASTER)) + if (DEATH_ISWEAPON(frag_deathtype, WEP_LASER)) { frag_damage = 0; frag_mirrordamage = 0; @@ -275,8 +296,8 @@ MUTATOR_HOOKFUNCTION(minstagib_SetStartItems) start_health = 100; start_armorvalue = 0; - start_weapons = WEPSET_VAPORIZER; - warmup_start_weapons = WEPSET_VAPORIZER; + start_weapons = WEPSET_MINSTANEX; + warmup_start_weapons = WEPSET_MINSTANEX; start_items |= IT_UNLIMITED_SUPERWEAPONS; return FALSE; @@ -287,13 +308,13 @@ MUTATOR_HOOKFUNCTION(minstagib_FilterItem) if(self.classname == "item_cells") return TRUE; // no normal cells? - if(self.weapon == WEP_VAPORIZER && self.classname == "droppedweapon") + if(self.weapon == WEP_MINSTANEX && self.classname == "droppedweapon") { self.ammo_cells = autocvar_g_minstagib_ammo_drop; return FALSE; } - if(self.weapon == WEP_DEVASTATOR || self.weapon == WEP_VORTEX) + if(self.weapon == WEP_ROCKET_LAUNCHER || self.weapon == WEP_NEX) { entity e = spawn(); setorigin(e, self.origin); @@ -414,6 +435,8 @@ MUTATOR_HOOKFUNCTION(minstagib_SetModname) MUTATOR_DEFINITION(mutator_minstagib) { MUTATOR_HOOK(MatchEnd, minstagib_MatchEnd, CBC_ORDER_ANY); + MUTATOR_HOOK(MonsterDropItem, minstagib_MonsterLoot, CBC_ORDER_ANY); + MUTATOR_HOOK(MonsterSpawn, minstagib_MonsterSpawn, CBC_ORDER_ANY); MUTATOR_HOOK(BotShouldAttack, minstagib_BotShouldAttack, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPhysics, minstagib_PlayerPhysics, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerSpawn, minstagib_PlayerSpawn, CBC_ORDER_ANY); @@ -428,6 +451,7 @@ MUTATOR_DEFINITION(mutator_minstagib) MUTATOR_HOOK(PlayerPowerups, minstagib_PlayerPowerups, CBC_ORDER_ANY); MUTATOR_HOOK(ForbidThrowCurrentWeapon, minstagib_ForbidThrowing, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPreThink, minstagib_PlayerPreThink, CBC_ORDER_ANY); + MUTATOR_HOOK(PlayerRegen, minstagib_PlayerRegen, CBC_ORDER_ANY); MUTATOR_HOOK(OnEntityPreSpawn, minstagib_OnEntityPreSpawn, CBC_ORDER_ANY); MUTATOR_HOOK(BuildMutatorsString, minstagib_BuildMutatorsString, CBC_ORDER_ANY); MUTATOR_HOOK(BuildMutatorsPrettyString, minstagib_BuildMutatorsPrettyString, CBC_ORDER_ANY);