/// this item is on the ground.
.bool m_isexpiring;
-entity Item_Create(string class_name, vector position)
+entity Item_Create(string class_name, vector position, bool no_align)
{
entity item = spawn();
item.classname = class_name;
item.spawnfunc_checked = true;
+ setorigin(item, position);
+ item.noalign = no_align;
Item_Initialize(item, class_name);
if (wasfreed(item))
{
return NULL;
}
- setorigin(item, position);
return item;
}
item.classname = class_name;
Item_SetLoot(item, true);
item.noalign = true;
+ setorigin(item, position);
item.pickup_anyway = true;
item.spawnfunc_checked = true;
Item_Initialize(item, class_name);
return false;
}
item.gravity = 1;
- setorigin(item, position);
item.velocity = vel;
SUB_SetFade(item, time + time_to_live, 1);
return true;
item.m_isloot = loot;
}
+bool Item_ShouldKeepPosition(entity item)
+{
+ return item.noalign || (item.spawnflags & 1);
+}
+
bool Item_IsExpiring(entity item)
{
return item.m_isexpiring;