]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/t_items.qc
Make consumable items possible to regurgitate. Will not work yet as they apply no...
[voretournament/voretournament.git] / data / qcsrc / server / t_items.qc
index 80116ce828e452a4d1f38c3095f882c499d06daf..7987e2063dda63498b4c36963be22304da0f1b2f 100644 (file)
@@ -219,6 +219,21 @@ void Item_ScheduleInitialRespawn(entity e)
        Item_ScheduleRespawnIn(e, game_starttime - time + ITEM_RESPAWNTIME_INITIAL(e));\r
 }\r
 \r
+void Item_Consumable_Remove();\r
+void Item_Consumable_Think()\r
+{\r
+       if(self.predator.regurgitate_prepare && time > self.predator.regurgitate_prepare)\r
+       {\r
+               self.predator.regurgitate_prepare = 0;\r
+               self.predator.complain_vore = time + complain_delay_time; // prevent complaining the next frame if this empties our stomach\r
+               Item_Consumable_Remove();\r
+               return;\r
+       }\r
+\r
+       dprint("!!!!!!!!\n");\r
+       self.nextthink = time;\r
+}\r
+\r
 float Item_Consumable_Customizeentityforclient()\r
 {\r
        if(cvar("g_vore_neighborprey_distance_item") && self.predator == other.predator && !(other.cvar_chase_active || other.classname == "observer"))\r
@@ -231,6 +246,13 @@ float Item_Consumable_Customizeentityforclient()
        return TRUE;\r
 }\r
 \r
+void Item_Consumable_Remove()\r
+{\r
+       self.nextthink = 0;\r
+       remove(self);\r
+       self = world;\r
+}\r
+\r
 void Item_Consumable_Spawn(entity e, entity pl)\r
 {\r
        entity item;\r
@@ -250,6 +272,8 @@ void Item_Consumable_Spawn(entity e, entity pl)
        item.view_ofs_z = CONSUMABLE_VIEW_OFS_z;\r
 \r
        item.customizeentityforclient = Item_Consumable_Customizeentityforclient;\r
+       item.think = Item_Consumable_Think;\r
+       item.nextthink = time;\r
 }\r
 \r
 float Item_GiveTo(entity item, entity player)\r