ItemSpawn: Make a kill relay instead of trigger.
This commit is contained in:
parent
9cf71af1d3
commit
3cdb375291
@ -54,18 +54,12 @@ public void SpawnBalrog(float fOrigin[3])
|
||||
DispatchKeyFormat(iKnife, "angles", "0 0 0");
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_balrog_knife_%d,AddOutput,renderfx 6,0.02,1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_balrog_model_%d,SetAnimation,balrog_attack1,0,1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_balrog_health_%d,FireUser1,,0,1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_balrog_health_%d,FireUser2,,0,1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_balrog_health_%d,FireUser3,,0,1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_balrog_ui_%d,Activate,,0,1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_spawn_speedmod,ModifySpeed,0.8,0,1");
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "!activator,AddOutput,health 50000,0,1");
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "!self,FireUser1,,0,1");
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "!self,FireUser2,,0,1");
|
||||
DispatchKeyFormat(iKnife, "OnUser1", "!activator,AddOutput,rendermode 10,0,-1");
|
||||
DispatchKeyFormat(iKnife, "OnUser1", "!activator,AddOutput,renderfx 6,0,-1");
|
||||
DispatchKeyFormat(iKnife, "OnUser1", "!self,FireUser1,,1,-1");
|
||||
DispatchKeyFormat(iKnife, "OnUser2", "item_balrog_walk_%d,Disable,,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnUser2", "item_balrog_walk_%d,Enable,,0.1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnUser2", "item_balrog_walk_sound_%d,PlaySound,,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iKnife, "OnUser2", "!self,FireUser2,,0.95,-1");
|
||||
DispatchKeyFormat(iKnife, "OnPlayerPickup", "item_spawn_speedmod,ModifySpeed,0.8,0,1");
|
||||
SpawnAndActivate(iKnife);
|
||||
|
||||
HookSingleEntityOutput(iKnife, "OnPlayerPickup", BalrogPickup, true);
|
||||
@ -101,24 +95,6 @@ public void SpawnBalrog(float fOrigin[3])
|
||||
SetEntitySolid(iTriggerStrip);
|
||||
SetEntityNodraw(iTriggerStrip);
|
||||
|
||||
// trigger_once death.
|
||||
int iTriggerDeath = CreateEntityAtOrigin("trigger_once", fOrigin);
|
||||
DispatchKeyFormat(iTriggerDeath, "targetname", "item_balrog_death_%d", g_iCounter);
|
||||
DispatchKeyFormat(iTriggerDeath, "filtername", "item_spawn_zombie_filter");
|
||||
DispatchKeyFormat(iTriggerDeath, "spawnflags", "1");
|
||||
DispatchKeyFormat(iTriggerDeath, "startdisabled", "1");
|
||||
DispatchKeyFormat(iTriggerDeath, "OnStartTouch", "!activator,SetDamageFilter,,0,-1");
|
||||
DispatchKeyFormat(iTriggerDeath, "OnStartTouch", "!activator,SetHealth,0,0.02,-1");
|
||||
DispatchKeyFormat(iTriggerDeath, "OnStartTouch", "!activator,AddOutput,rendermode 0,1,-1");
|
||||
DispatchKeyFormat(iTriggerDeath, "OnStartTouch", "!activator,AddOutput,renderfx 0,1,-1");
|
||||
SpawnAndActivate(iTriggerDeath);
|
||||
ParentToEntity(iTriggerDeath, iKnife);
|
||||
|
||||
// make the trigger work.
|
||||
SetEntityBBox(iTriggerDeath, view_as<float>({-8.0, -8.0, -8.0}), view_as<float>({8.0, 8.0, 8.0}));
|
||||
SetEntitySolid(iTriggerDeath);
|
||||
SetEntityNodraw(iTriggerDeath);
|
||||
|
||||
// walk origin.
|
||||
fOriginTemp[0] = fOrigin[0] + 28.5;
|
||||
fOriginTemp[1] = fOrigin[1] - 2.74;
|
||||
@ -270,6 +246,28 @@ public void SpawnBalrog(float fOrigin[3])
|
||||
SpawnAndActivate(iRelayAttack);
|
||||
ParentToEntity(iRelayAttack, iKnife);
|
||||
|
||||
// logic_relay death.
|
||||
int iRelayDeath = CreateEntityAtOrigin("logic_compare", fOrigin);
|
||||
DispatchKeyFormat(iRelayDeath, "targetname", "item_balrog_death_%d", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "spawnflags", "0");
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_knife_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_strip_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_walk_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_roar_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_attack_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_walk_sound_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_roar_sound_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_attack_sound_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_roar_compare_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "item_balrog_attack_compare_%d,Kill,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "!activator,AddOutput,rendermode 0,1,-1");
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "!activator,AddOutput,renderfx 0,1,-1");
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "!activator,AddOutput,gravity 1,0,-1");
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "!activator,SetDamageFilter,,1,-1");
|
||||
DispatchKeyFormat(iRelayDeath, "OnTrigger", "!activator,SetHealth,0,1.02,-1");
|
||||
SpawnAndActivate(iRelayDeath);
|
||||
ParentToEntity(iRelayDeath, iKnife);
|
||||
|
||||
// health origin.
|
||||
fOriginTemp[0] = fOrigin[0] + 44.0;
|
||||
fOriginTemp[1] = fOrigin[1] - 18.74;
|
||||
@ -317,8 +315,17 @@ public void SpawnBalrog(float fOrigin[3])
|
||||
DispatchKeyFormat(iHealth, "OnBreak", "item_balrog_model_%d,ClearParent,,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnBreak", "item_balrog_model_%d,SetAnimation,balrog_death,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnBreak", "item_balrog_model_%d,SetDefaultAnimation,balrog_death_idle,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnBreak", "item_balrog_death_%d,Enable,,1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnBreak", "item_balrog_death_%d,Kill,,2,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnUser1", "!activator,AddOutput,rendermode 10,0,-1");
|
||||
DispatchKeyFormat(iHealth, "OnUser1", "!activator,AddOutput,renderfx 6,0,-1");
|
||||
DispatchKeyFormat(iHealth, "OnUser1", "!activator,AddOutput,gravity 2,0,-1");
|
||||
DispatchKeyFormat(iHealth, "OnUser1", "!self,FireUser1,,1,-1");
|
||||
DispatchKeyFormat(iHealth, "OnUser2", "item_balrog_walk_sound_%d,PlaySound,,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnUser2", "item_balrog_walk_%d,Disable,,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnUser2", "item_balrog_walk_%d,Enable,,0.1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnUser2", "!self,FireUser2,,0.95,-1");
|
||||
DispatchKeyFormat(iHealth, "OnUser3", "item_balrog_death_%d,CancelPending,,0,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnUser3", "item_balrog_death_%d,Trigger,,0.1,-1", g_iCounter);
|
||||
DispatchKeyFormat(iHealth, "OnUser3", "!self,FireUser3,,0.2,-1");
|
||||
SpawnAndActivate(iHealth);
|
||||
ParentToEntity(iHealth, iKnife);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user