#pragma once #ifdef SVQC #include #endif #include "ammo.qh" #include #ifndef SVQC .int m_itemid; #endif #ifdef GAMEQC MODEL(Jetpack_ITEM, Item_Model("g_jetpack.md3")); #endif #ifdef SVQC bool autocvar_g_powerups_jetpack = true; int autocvar_g_pickup_fuel_jetpack; void powerup_jetpack_init(Pickup def, entity item) { if(!autocvar_g_powerups || !autocvar_g_powerups_jetpack) def.spawnflags |= ITEM_FLAG_MUTATORBLOCKED; if(!GetResource(item, RES_FUEL)) SetResourceExplicit(item, RES_FUEL, autocvar_g_pickup_fuel_jetpack); } #endif CLASS(Jetpack, Powerup) /* spawnfunc */ ATTRIB(Jetpack, m_canonical_spawnfunc, string, "item_jetpack"); #ifdef GAMEQC /* spawnflags */ ATTRIB(Jetpack, spawnflags, int, ITEM_FLAG_NORMAL); /* model */ ATTRIB(Jetpack, m_model, Model, MDL_Jetpack_ITEM); /* sound */ ATTRIB(Jetpack, m_itemid, int, IT_JETPACK); #endif /* refname */ ATTRIB(Jetpack, netname, string, "jetpack"); /* itemname */ ATTRIB(Jetpack, m_name, string, _("Jetpack")); /* icon */ ATTRIB(Jetpack, m_icon, string, "jetpack"); /* color */ ATTRIB(Jetpack, m_color, vector, '0.5 0.5 0.5'); /* wptext */ ATTRIB(Jetpack, m_waypoint, string, _("Jetpack")); /* wpblink */ ATTRIB(Jetpack, m_waypointblink, int, 2); #ifdef SVQC /* botvalue */ ATTRIB(Jetpack, m_botvalue, int, 3000); /* pickupfunc */ ATTRIB(Jetpack, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc); /* iteminit */ ATTRIB(Jetpack, m_iteminit, void(Pickup this, entity item), powerup_jetpack_init); #endif ENDCLASS(Jetpack) REGISTER_ITEM(Jetpack, NEW(Jetpack)); SPAWNFUNC_ITEM(item_jetpack, ITEM_Jetpack) #ifdef GAMEQC MODEL(JetpackFuel_ITEM, Item_Model("g_fuel.md3")); #endif #ifdef SVQC int autocvar_g_pickup_fuel; int autocvar_g_pickup_fuel_max; void ammo_fuel_init(Pickup this, entity item) { if(!GetResource(item, RES_FUEL)) SetResourceExplicit(item, RES_FUEL, autocvar_g_pickup_fuel); } #endif CLASS(JetpackFuel, Ammo) /* spawnfunc */ ATTRIB(JetpackFuel, m_canonical_spawnfunc, string, "item_fuel"); #ifdef GAMEQC /* spawnflags */ ATTRIB(JetpackFuel, spawnflags, int, ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE); /* model */ ATTRIB(JetpackFuel, m_model, Model, MDL_JetpackFuel_ITEM); #endif /* refname */ ATTRIB(JetpackFuel, netname, string, "fuel"); /* itemname */ ATTRIB(JetpackFuel, m_name, string, _("Fuel")); /* icon */ ATTRIB(JetpackFuel, m_icon, string, "ammo_fuel"); /* color */ ATTRIB(JetpackFuel, m_color, vector, '0.984 0.878 0.506'); #ifdef SVQC /* botvlaue */ ATTRIB(JetpackFuel, m_botvalue, int, 2000); /* itemid */ ATTRIB(JetpackFuel, m_itemid, int, IT_RESOURCE); /* iteminit */ ATTRIB(JetpackFuel, m_iteminit, void(Pickup this, entity item), ammo_fuel_init); #endif ENDCLASS(JetpackFuel) REGISTER_ITEM(JetpackFuel, NEW(JetpackFuel)); SPAWNFUNC_ITEM(item_fuel, ITEM_JetpackFuel) #ifdef GAMEQC MODEL(JetpackRegen_ITEM, Item_Model("g_fuelregen.md3")); #endif #ifdef SVQC bool autocvar_g_powerups_fuelregen = true; void powerup_fuelregen_init(Pickup def, entity item) { if(!autocvar_g_powerups || !autocvar_g_powerups_fuelregen) def.spawnflags |= ITEM_FLAG_MUTATORBLOCKED; } #endif CLASS(JetpackRegen, Powerup) /* spawnfunc */ ATTRIB(JetpackRegen, m_canonical_spawnfunc, string, "item_fuel_regen"); #ifdef GAMEQC /* spawnflags */ ATTRIB(JetpackRegen, spawnflags, int, ITEM_FLAG_NORMAL); /* model */ ATTRIB(JetpackRegen, m_model, Model, MDL_JetpackRegen_ITEM); #endif /* refname */ ATTRIB(JetpackRegen, netname, string, "fuel_regen"); /* itemname */ ATTRIB(JetpackRegen, m_name, string, _("Fuel regenerator")); /* icon */ ATTRIB(JetpackRegen, m_icon, string, "fuelregen"); /* color */ ATTRIB(JetpackRegen, m_color, vector, '1 0.5 0'); /* wptext */ ATTRIB(JetpackRegen, m_waypoint, string, _("Fuel regen")); /* wpblink */ ATTRIB(JetpackRegen, m_waypointblink, int, 2); #ifdef SVQC /* botvalue */ ATTRIB(JetpackRegen, m_botvalue, int, 3000); /* itemid */ ATTRIB(JetpackRegen, m_itemid, int, IT_FUEL_REGEN); /* pickupfunc */ ATTRIB(JetpackRegen, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc); /* iteminit */ ATTRIB(JetpackRegen, m_iteminit, void(Pickup this, entity item), powerup_fuelregen_init); #endif ENDCLASS(JetpackRegen) REGISTER_ITEM(JetpackRegen, NEW(JetpackRegen)); SPAWNFUNC_ITEM(item_fuel_regen, ITEM_JetpackRegen)