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