X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fitems%2Fitems.qc;h=932db7a553dd2f663c7a1549d15cfa52f54d160c;hb=350dd64390082f01f29e0d4e4ef70390ba700219;hp=db9b3fece9609190313bf71a0693cf062ff8212d;hpb=94ce674f701e458c74a0fe731cfc889fc6c01273;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/items/items.qc b/qcsrc/server/items/items.qc index db9b3fece..932db7a55 100644 --- a/qcsrc/server/items/items.qc +++ b/qcsrc/server/items/items.qc @@ -1057,19 +1057,19 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default if(autocvar_spawn_debug >= 2) { - // why not flags & fl_item? - FOREACH_ENTITY_RADIUS(this.origin, 3, it.is_item, { - LOG_TRACE("XXX Found duplicated item: ", itemname, vtos(this.origin)); - LOG_TRACE(" vs ", it.netname, vtos(it.origin)); - error("Mapper sucks."); - }); + // why not flags & fl_item? + FOREACH_ENTITY_RADIUS(this.origin, 3, it.is_item, { + LOG_TRACE("XXX Found duplicated item: ", itemname, vtos(this.origin)); + LOG_TRACE(" vs ", it.netname, vtos(it.origin)); + error("Mapper sucks."); + }); this.is_item = true; } weaponsInMap |= WepSet_FromWeapon(REGISTRY_GET(Weapons, weaponid)); - if ( def.instanceOfPowerup - || def.instanceOfWeaponPickup + if ( def.instanceOfPowerup + || def.instanceOfWeaponPickup || (def.instanceOfHealth && def != ITEM_HealthSmall) || (def.instanceOfArmor && def != ITEM_ArmorSmall) || (itemid & (IT_KEY1 | IT_KEY2)) @@ -1146,18 +1146,21 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default void StartItem(entity this, GameItem def) { - def = def.m_spawnfunc_hookreplace(def, this); - if (def.spawnflags & ITEM_FLAG_MUTATORBLOCKED) - { - delete(this); - return; - } - this.classname = def.m_canonical_spawnfunc; - _StartItem( - this, - this.itemdef = def, - def.m_respawntime(), // defaultrespawntime - def.m_respawntimejitter() // defaultrespawntimejitter + def = def.m_spawnfunc_hookreplace(def, this); + + if (def.spawnflags & ITEM_FLAG_MUTATORBLOCKED) + { + delete(this); + return; + } + + this.classname = def.m_canonical_spawnfunc; + + _StartItem( + this, + this.itemdef = def, + def.m_respawntime(), // defaultrespawntime + def.m_respawntimejitter() // defaultrespawntimejitter ); }