ItemSpawn: Finish basic whiteknight.

No NUKES
This commit is contained in:
zaCade 2018-08-11 20:32:16 +02:00
parent c80b8ddc50
commit 4db684851a
2 changed files with 47 additions and 13 deletions

View File

@ -200,6 +200,13 @@ public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
DispatchKeyFormat(iPlayerSpeed, "targetname", "item_spawn_speedmod");
SpawnAndActivate(iPlayerSpeed);
// filter_activator_class nodamage.
int iNoDamageFilter = CreateEntityByName("filter_activator_class");
DispatchKeyFormat(iNoDamageFilter, "targetname", "item_spawn_nodamage");
DispatchKeyFormat(iNoDamageFilter, "Negated", "0");
DispatchKeyFormat(iNoDamageFilter, "filterclass", "light");
SpawnAndActivate(iNoDamageFilter);
// filter_activator_team humans.
int iHumanFilter = CreateEntityByName("filter_activator_team");
DispatchKeyFormat(iHumanFilter, "targetname", "item_spawn_human_filter");

View File

@ -143,6 +143,10 @@ public void SpawnWhiteKnight(float fOrigin[3])
DispatchKeyFormat(iTriggerAttack3, "damagemodel", "0");
DispatchKeyFormat(iTriggerAttack3, "damagecap", "20");
DispatchKeyFormat(iTriggerAttack3, "damage", "800");
DispatchKeyFormat(iTriggerAttack3, "OnUser1", "!self,AddOutput,damage 800,0,-1");
DispatchKeyFormat(iTriggerAttack3, "OnUser2", "!self,AddOutput,damage 1500,0,-1");
DispatchKeyFormat(iTriggerAttack3, "OnUser1", "!self,Enable,,0,-1");
DispatchKeyFormat(iTriggerAttack3, "OnUser2", "!self,Enable,,0,-1");
SpawnAndActivate(iTriggerAttack3);
ParentToEntity(iTriggerAttack3, iKnife);
@ -234,7 +238,25 @@ public void SpawnWhiteKnight(float fOrigin[3])
int iBranchAttack = CreateEntityAtOrigin("logic_branch", fOrigin);
DispatchKeyFormat(iBranchAttack, "targetname", "item_knight_attack_branch_%d", g_iCounter);
DispatchKeyFormat(iBranchAttack, "spawnflags", "0");
// IO
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_case_1_%d,PickRandom,,0,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_sound_1_%d,PlaySound,,0.3,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_1_%d,Enable,,0.3,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_3_%d,FireUser1,,0.3,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_1_%d,Disable,,0.5,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_3_%d,Disable,,0.5,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_compare_%d,SetValue,0,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_attack_compare_%d,SetCompareValue,0,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_shield_compare_%d,SetCompareValue,0,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnFalse", "item_knight_nuke_compare_%d,SetCompareValue,0,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_spawn_speedmod,ModifySpeed,0,0,-1");
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_case_2_%d,PickRandom,,0,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_sound_2_%d,PlaySound,,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_2_%d,Enable,,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_3_%d,FireUser2,,1,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_2_%d,Disable,,1.2,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_3_%d,Disable,,1.2,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_attack_compare_%d,SetValue,0,2,-1", g_iCounter);
DispatchKeyFormat(iBranchAttack, "OnTrue", "item_knight_walk_%d,Trigger,,2,-1", g_iCounter);
SpawnAndActivate(iBranchAttack);
ParentToEntity(iBranchAttack, iKnife);
@ -245,9 +267,9 @@ public void SpawnWhiteKnight(float fOrigin[3])
DispatchKeyFormat(iCaseAttack1, "Case01", "1");
DispatchKeyFormat(iCaseAttack1, "Case02", "2");
DispatchKeyFormat(iCaseAttack1, "Case03", "3");
DispatchKeyFormat(iCaseAttack1, "OnCase01", "item_knight_model_%d,SetAnimation,dog_sword1,0,-1");
DispatchKeyFormat(iCaseAttack1, "OnCase02", "item_knight_model_%d,SetAnimation,dog_sword2,0,-1");
DispatchKeyFormat(iCaseAttack1, "OnCase03", "item_knight_model_%d,SetAnimation,dog_sword3,0,-1");
DispatchKeyFormat(iCaseAttack1, "OnCase01", "item_knight_model_%d,SetAnimation,dog_sword1,0,-1", g_iCounter);
DispatchKeyFormat(iCaseAttack1, "OnCase02", "item_knight_model_%d,SetAnimation,dog_sword2,0,-1", g_iCounter);
DispatchKeyFormat(iCaseAttack1, "OnCase03", "item_knight_model_%d,SetAnimation,dog_sword3,0,-1", g_iCounter);
SpawnAndActivate(iCaseAttack1);
ParentToEntity(iCaseAttack1, iKnife);
@ -257,8 +279,8 @@ public void SpawnWhiteKnight(float fOrigin[3])
DispatchKeyFormat(iCaseAttack2, "spawnflags", "0");
DispatchKeyFormat(iCaseAttack2, "Case01", "1");
DispatchKeyFormat(iCaseAttack2, "Case02", "2");
DispatchKeyFormat(iCaseAttack2, "OnCase01", "item_knight_model_%d,SetAnimation,dog_sword1heavy,0,-1");
DispatchKeyFormat(iCaseAttack2, "OnCase02", "item_knight_model_%d,SetAnimation,dog_sword2heavy,0,-1");
DispatchKeyFormat(iCaseAttack2, "OnCase01", "item_knight_model_%d,SetAnimation,dog_sword1heavy,0,-1", g_iCounter);
DispatchKeyFormat(iCaseAttack2, "OnCase02", "item_knight_model_%d,SetAnimation,dog_sword2heavy,0,-1", g_iCounter);
SpawnAndActivate(iCaseAttack2);
ParentToEntity(iCaseAttack2, iKnife);
@ -280,7 +302,12 @@ public void SpawnWhiteKnight(float fOrigin[3])
DispatchKeyFormat(iCompareShield, "OnEqualTo", "!self,SetValue,0,6,-1");
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_attack_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_shield_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
// IO
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_model_%d,SetAnimation,dog_defense,0,-1", g_iCounter);
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_model_%d,SetDefaultAnimation,dog_defense,0,-1", g_iCounter);
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_health_%d,SetDamageFilter,item_spawn_nodamage,0,-1", g_iCounter);
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_health_%d,SetDamageFilter,item_spawn_zombie_filter,0,-1", g_iCounter);
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_knight_walk_%d,Trigger,,2,-1", g_iCounter);
DispatchKeyFormat(iCompareShield, "OnEqualTo", "item_spawn_speedmod,ModifySpeed,0,0,-1");
SpawnAndActivate(iCompareShield);
ParentToEntity(iCompareShield, iKnife);
@ -288,12 +315,11 @@ public void SpawnWhiteKnight(float fOrigin[3])
int iCompareNuke = CreateEntityAtOrigin("logic_compare", fOrigin);
DispatchKeyFormat(iCompareNuke, "targetname", "item_knight_nuke_compare_%d", g_iCounter);
DispatchKeyFormat(iCompareNuke, "spawnflags", "0");
DispatchKeyFormat(iCompareNuke, "OnEqualTo", "!self,SetValue,1,0,-1");
DispatchKeyFormat(iCompareNuke, "OnEqualTo", "!self,SetValue,0,150,-1");
DispatchKeyFormat(iCompareNuke, "OnEqualTo", "item_knight_attack_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
DispatchKeyFormat(iCompareNuke, "OnEqualTo", "item_knight_shield_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
DispatchKeyFormat(iCompareNuke, "OnEqualTo", "item_knight_nuke_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
// IO
// DispatchKeyFormat(iCompareNuke, "OnEqualTo", "!self,SetValue,1,0,-1");
// DispatchKeyFormat(iCompareNuke, "OnEqualTo", "!self,SetValue,0,150,-1");
// DispatchKeyFormat(iCompareNuke, "OnEqualTo", "item_knight_attack_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
// DispatchKeyFormat(iCompareNuke, "OnEqualTo", "item_knight_shield_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
// DispatchKeyFormat(iCompareNuke, "OnEqualTo", "item_knight_nuke_compare_%d,SetCompareValue,-1,0,-1", g_iCounter);
SpawnAndActivate(iCompareNuke);
ParentToEntity(iCompareNuke, iKnife);
@ -497,6 +523,7 @@ public void SpawnWhiteKnight(float fOrigin[3])
DispatchKeyFormat(iHealth, "OnBreak", "item_knight_model_%d,ClearParent,,0,1", g_iCounter);
DispatchKeyFormat(iHealth, "OnBreak", "item_knight_model_%d,SetAnimation,dog_die,0,1", g_iCounter);
DispatchKeyFormat(iHealth, "OnBreak", "item_knight_model_%d,SetDefaultAnimation,dog_die_loop,0,1", g_iCounter);
DispatchKeyFormat(iHealth, "OnPlayerUse", "item_knight_attack_branch_%d,Toggle,,0,-1", g_iCounter);
DispatchKeyFormat(iHealth, "OnUser1", "!activator,SetDamageFilter,item_spawn_human_filter,0,-1");
DispatchKeyFormat(iHealth, "OnUser1", "!activator,AddOutput,rendermode 10,0,-1");
DispatchKeyFormat(iHealth, "OnUser1", "!activator,AddOutput,renderfx 6,0,-1");