BossHP: HammerID support and more configs
This commit is contained in:
parent
81f79c51ca
commit
c932ee868c
59
BossHP/configs/bosshp/ze_pirates_port_royal_v3_6.cfg
Normal file
59
BossHP/configs/bosshp/ze_pirates_port_royal_v3_6.cfg
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
"bosses"
|
||||||
|
{
|
||||||
|
"0" // Stage 2
|
||||||
|
{
|
||||||
|
"name" "Cannon"
|
||||||
|
"method" "hpbar"
|
||||||
|
"trigger" "delo_boss_hity:OnStartTouch"
|
||||||
|
|
||||||
|
"iterator" "boss_hp_iterations"
|
||||||
|
"counter" "delo_counter"
|
||||||
|
"backup" "boss_hp_backup"
|
||||||
|
}
|
||||||
|
"1" // Stage 3
|
||||||
|
{
|
||||||
|
"name" "Pirate"
|
||||||
|
"method" "hpbar"
|
||||||
|
"trigger" "pirate_add_hit:OnStartTouch"
|
||||||
|
|
||||||
|
"iterator" "pirate_hp_iterations"
|
||||||
|
"counter" "pirate_counter"
|
||||||
|
"backup" "pirate_hp_backup"
|
||||||
|
}
|
||||||
|
"2" // Stage 4
|
||||||
|
{
|
||||||
|
"name" "Barbossa"
|
||||||
|
"method" "hpbar"
|
||||||
|
"trigger" "barbossa2_pocty:OnStartTouch"
|
||||||
|
|
||||||
|
"iterator" "barbossa_hp_iterations"
|
||||||
|
"counter" "barbossa_counter"
|
||||||
|
"backup" "barbossa_hp_backup"
|
||||||
|
}
|
||||||
|
"3" // Stage 5
|
||||||
|
{
|
||||||
|
"name" "Kraken"
|
||||||
|
"method" "hpbar"
|
||||||
|
"trigger" "kraken_multipl:OnStartTouch"
|
||||||
|
|
||||||
|
"iterator" "kraken_hp_iterations"
|
||||||
|
"counter" "kraken_counter"
|
||||||
|
"backup" "kraken_hp_backup"
|
||||||
|
}
|
||||||
|
"4"
|
||||||
|
{
|
||||||
|
"name" "Barbossa"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "final_barbossa_hity:OnStartTouch"
|
||||||
|
|
||||||
|
"counter" "final_barbossa_counter"
|
||||||
|
}
|
||||||
|
"5"
|
||||||
|
{
|
||||||
|
"name" "Barbossa"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "bb_pocty:OnStartTouch"
|
||||||
|
|
||||||
|
"counter" "final_barbossa_counter2"
|
||||||
|
}
|
||||||
|
}
|
129
BossHP/configs/bosshp/ze_pkmn_adventure_v7_2s.cfg
Normal file
129
BossHP/configs/bosshp/ze_pkmn_adventure_v7_2s.cfg
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
"bosses"
|
||||||
|
{
|
||||||
|
// Stage 1 - Bosses
|
||||||
|
"0"
|
||||||
|
{
|
||||||
|
"name" "Nidoqueen"
|
||||||
|
"method" "breakable"
|
||||||
|
"trigger" "nidoqueen_template:OnEntitySpawned"
|
||||||
|
|
||||||
|
"breakable" "nidoqueen"
|
||||||
|
}
|
||||||
|
// Stage 2 - Bosses
|
||||||
|
"1"
|
||||||
|
{
|
||||||
|
"name" "Regice"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "addhealth_regi:OnStartTouch:3"
|
||||||
|
"killtrigger" "regiiceboss:OnBreak"
|
||||||
|
|
||||||
|
"counter" "regicehealth"
|
||||||
|
}
|
||||||
|
// Stage 3 - Bosses
|
||||||
|
"2"
|
||||||
|
{
|
||||||
|
"name" "Kirlia"
|
||||||
|
"method" "breakable"
|
||||||
|
"trigger" "KirliaSpawn:OnEntitySpawned"
|
||||||
|
|
||||||
|
"breakable" "kirlia"
|
||||||
|
}
|
||||||
|
"3"
|
||||||
|
{
|
||||||
|
"name" "Crobat"
|
||||||
|
"method" "breakable"
|
||||||
|
"trigger" "CrobatSpawn:OnEntitySpawned"
|
||||||
|
|
||||||
|
"breakable" "Crobat"
|
||||||
|
}
|
||||||
|
"4"
|
||||||
|
{
|
||||||
|
"name" "Groudon"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "groudonaddhealth:OnStartTouch:1"
|
||||||
|
"killtrigger" "Groudon:OnBreak"
|
||||||
|
|
||||||
|
"counter" "groudonhp"
|
||||||
|
}
|
||||||
|
"5"
|
||||||
|
{
|
||||||
|
"name" "Kirlia"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "crobatfinalbossspawn:OnEntitySpawned"
|
||||||
|
"killtrigger" "CrobatFinalboss:OnBreak"
|
||||||
|
|
||||||
|
"counter" "finalkirlia_hp"
|
||||||
|
}
|
||||||
|
"6" // Stage 4 - Bosses
|
||||||
|
{
|
||||||
|
"name" "Skuntank"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "skuntank_spawn:OnEntitySpawned"
|
||||||
|
"killtrigger" "Skuntank:OnBreak"
|
||||||
|
|
||||||
|
"counter" "skuntankhealth"
|
||||||
|
}
|
||||||
|
"7"
|
||||||
|
{
|
||||||
|
"name" "Purugly"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "purugly_spawn:OnEntitySpawned"
|
||||||
|
"killtrigger" "Purugly:OnBreak"
|
||||||
|
|
||||||
|
"counter" "puruglyhealth"
|
||||||
|
}
|
||||||
|
"8"
|
||||||
|
{
|
||||||
|
"name" "Honchkrow"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "HonchkrowSpawn:OnEntitySpawned"
|
||||||
|
"killtrigger" "Honchkrow:OnBreak"
|
||||||
|
|
||||||
|
"counter" "honchkrowhp"
|
||||||
|
}
|
||||||
|
"9"
|
||||||
|
{
|
||||||
|
"name" "Crobat"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "CrobatSpawnCyrus:OnEntitySpawned"
|
||||||
|
"killtrigger" "CrobatCyrus:OnBreak"
|
||||||
|
|
||||||
|
"counter" "crobatcyrushp"
|
||||||
|
}
|
||||||
|
"10"
|
||||||
|
{
|
||||||
|
"name" "Weavile"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "WaevileSpawn:OnEntitySpawned"
|
||||||
|
"killtrigger" "Weavile:OnBreak"
|
||||||
|
|
||||||
|
"counter" "weavilehp"
|
||||||
|
}
|
||||||
|
"11"
|
||||||
|
{
|
||||||
|
"name" "Giratina"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "addhealth_gira:OnStartTouch"
|
||||||
|
"killtrigger" "Giratina:OnBreak"
|
||||||
|
|
||||||
|
"counter" "giratinahp"
|
||||||
|
}
|
||||||
|
"12"
|
||||||
|
{
|
||||||
|
"name" "Crobat"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "bottom_2_medium:OnStartTouch:1"
|
||||||
|
"killtrigger" "CrobatFinalPart2:OnBreak"
|
||||||
|
|
||||||
|
"counter" "crobatfinal2_health"
|
||||||
|
}
|
||||||
|
"13"
|
||||||
|
{
|
||||||
|
"name" "Weavile"
|
||||||
|
"method" "counter"
|
||||||
|
"trigger" "cyrusfinalspawner:OnEntitySpawned"
|
||||||
|
"killtrigger" "WeavileFinal:OnBreak"
|
||||||
|
|
||||||
|
"counter" "weavilefinalhp"
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
"bosses"
|
"bosses"
|
||||||
{
|
{
|
||||||
"0" // Glados
|
"0" // Glados
|
||||||
{
|
{
|
||||||
"name" "Glados"
|
"name" "Glados"
|
||||||
"method" "counter"
|
"method" "counter"
|
||||||
"trigger" "lvl1_cts_counter_trigger:OnTrigger"
|
"trigger" "lvl1_cts_counter_trigger:OnTrigger"
|
||||||
|
|
||||||
"counter" "lvl1_health_counter"
|
"counter" "lvl1_health_counter"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -23,7 +23,7 @@ public Plugin myinfo =
|
|||||||
name = "BossHP",
|
name = "BossHP",
|
||||||
author = "BotoX",
|
author = "BotoX",
|
||||||
description = "",
|
description = "",
|
||||||
version = "0.1",
|
version = "0.2",
|
||||||
url = ""
|
url = ""
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -351,8 +351,9 @@ public void OnEntitySpawned(int entity)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
char sTargetname[64];
|
char sTargetname[64];
|
||||||
if(!GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname)))
|
GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname));
|
||||||
return;
|
|
||||||
|
int iHammerID = GetEntProp(entity, Prop_Data, "m_iHammerID");
|
||||||
|
|
||||||
for(int i = 0; i < g_aConfig.Length; i++)
|
for(int i = 0; i < g_aConfig.Length; i++)
|
||||||
{
|
{
|
||||||
@ -361,7 +362,11 @@ public void OnEntitySpawned(int entity)
|
|||||||
char sTrigger[64];
|
char sTrigger[64];
|
||||||
Config.GetTrigger(sTrigger, sizeof(sTrigger));
|
Config.GetTrigger(sTrigger, sizeof(sTrigger));
|
||||||
|
|
||||||
if(StrEqual(sTargetname, sTrigger))
|
int iTriggerHammerID = -1;
|
||||||
|
if(sTrigger[0] == '#')
|
||||||
|
iTriggerHammerID = StringToInt(sTrigger[1]);
|
||||||
|
|
||||||
|
if((iTriggerHammerID == -1 && sTargetname[0] && StrEqual(sTargetname, sTrigger)) || iTriggerHammerID == iHammerID)
|
||||||
{
|
{
|
||||||
char sOutput[64];
|
char sOutput[64];
|
||||||
Config.GetOutput(sOutput, sizeof(sOutput));
|
Config.GetOutput(sOutput, sizeof(sOutput));
|
||||||
@ -382,7 +387,11 @@ public void OnEntitySpawned(int entity)
|
|||||||
char sShowTrigger[64];
|
char sShowTrigger[64];
|
||||||
Config.GetShowTrigger(sShowTrigger, sizeof(sShowTrigger));
|
Config.GetShowTrigger(sShowTrigger, sizeof(sShowTrigger));
|
||||||
|
|
||||||
if(sShowTrigger[0] && StrEqual(sTargetname, sShowTrigger))
|
int iShowTriggerHammerID = -1;
|
||||||
|
if(sShowTrigger[0] == '#')
|
||||||
|
iShowTriggerHammerID = StringToInt(sShowTrigger[1]);
|
||||||
|
|
||||||
|
if((iShowTriggerHammerID == -1 && sShowTrigger[0] && StrEqual(sTargetname, sShowTrigger)) || iShowTriggerHammerID == iHammerID)
|
||||||
{
|
{
|
||||||
char sShowOutput[64];
|
char sShowOutput[64];
|
||||||
Config.GetShowOutput(sShowOutput, sizeof(sShowOutput));
|
Config.GetShowOutput(sShowOutput, sizeof(sShowOutput));
|
||||||
@ -403,7 +412,11 @@ public void OnEntitySpawned(int entity)
|
|||||||
char sKillTrigger[64];
|
char sKillTrigger[64];
|
||||||
Config.GetKillTrigger(sKillTrigger, sizeof(sKillTrigger));
|
Config.GetKillTrigger(sKillTrigger, sizeof(sKillTrigger));
|
||||||
|
|
||||||
if(sKillTrigger[0] && StrEqual(sTargetname, sKillTrigger))
|
int iKillTriggerHammerID = -1;
|
||||||
|
if(sKillTrigger[0] == '#')
|
||||||
|
iKillTriggerHammerID = StringToInt(sKillTrigger[1]);
|
||||||
|
|
||||||
|
if((iKillTriggerHammerID == -1 && sKillTrigger[0] && StrEqual(sTargetname, sKillTrigger)) || iKillTriggerHammerID == iHammerID)
|
||||||
{
|
{
|
||||||
char sKillOutput[64];
|
char sKillOutput[64];
|
||||||
Config.GetKillOutput(sKillOutput, sizeof(sKillOutput));
|
Config.GetKillOutput(sKillOutput, sizeof(sKillOutput));
|
||||||
@ -426,8 +439,11 @@ public void OnEntitySpawned(int entity)
|
|||||||
void OnTrigger(int entity, const char[] output, SDKHookType HookType = view_as<SDKHookType>(-1))
|
void OnTrigger(int entity, const char[] output, SDKHookType HookType = view_as<SDKHookType>(-1))
|
||||||
{
|
{
|
||||||
char sTargetname[64];
|
char sTargetname[64];
|
||||||
if(!GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname)))
|
GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname));
|
||||||
return;
|
|
||||||
|
int iHammerID = GetEntProp(entity, Prop_Data, "m_iHammerID");
|
||||||
|
|
||||||
|
PrintToServer("OnTrigger(%d:\"%s\":#%d, \"%s\")", entity, sTargetname, iHammerID, output);
|
||||||
|
|
||||||
for(int i = 0; i < g_aConfig.Length; i++)
|
for(int i = 0; i < g_aConfig.Length; i++)
|
||||||
{
|
{
|
||||||
@ -436,7 +452,15 @@ void OnTrigger(int entity, const char[] output, SDKHookType HookType = view_as<S
|
|||||||
char sTrigger[64];
|
char sTrigger[64];
|
||||||
Config.GetTrigger(sTrigger, sizeof(sTrigger));
|
Config.GetTrigger(sTrigger, sizeof(sTrigger));
|
||||||
|
|
||||||
if(!StrEqual(sTargetname, sTrigger))
|
int iTriggerHammerID = -1;
|
||||||
|
if(sTrigger[0] == '#')
|
||||||
|
{
|
||||||
|
iTriggerHammerID = StringToInt(sTrigger[1]);
|
||||||
|
|
||||||
|
if(iTriggerHammerID != iHammerID)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if(!sTargetname[0] || !StrEqual(sTargetname, sTrigger))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
char sOutput[64];
|
char sOutput[64];
|
||||||
@ -490,7 +514,10 @@ void OnTrigger(int entity, const char[] output, SDKHookType HookType = view_as<S
|
|||||||
if(Once)
|
if(Once)
|
||||||
g_aHadOnce.SetValue(sTemp, true);
|
g_aHadOnce.SetValue(sTemp, true);
|
||||||
|
|
||||||
LogMessage("Triggered boss %s(%d) from output %s", sTargetname, entity, output);
|
if(iTriggerHammerID == -1)
|
||||||
|
LogMessage("Triggered boss %s(%d) from output %s", sTargetname, entity, output);
|
||||||
|
else
|
||||||
|
LogMessage("Triggered boss #%d(%d) from output %s", iTriggerHammerID, entity, output);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -498,8 +525,9 @@ void OnTrigger(int entity, const char[] output, SDKHookType HookType = view_as<S
|
|||||||
void OnShowTrigger(int entity, const char[] output, SDKHookType HookType = view_as<SDKHookType>(-1))
|
void OnShowTrigger(int entity, const char[] output, SDKHookType HookType = view_as<SDKHookType>(-1))
|
||||||
{
|
{
|
||||||
char sTargetname[64];
|
char sTargetname[64];
|
||||||
if(!GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname)))
|
GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname));
|
||||||
return;
|
|
||||||
|
int iHammerID = GetEntProp(entity, Prop_Data, "m_iHammerID");
|
||||||
|
|
||||||
int iTemplateNum = -1;
|
int iTemplateNum = -1;
|
||||||
int iTemplateLoc = FindCharInString(sTargetname, '&', true);
|
int iTemplateLoc = FindCharInString(sTargetname, '&', true);
|
||||||
@ -516,7 +544,18 @@ void OnShowTrigger(int entity, const char[] output, SDKHookType HookType = view_
|
|||||||
char sShowTrigger[64];
|
char sShowTrigger[64];
|
||||||
Config.GetShowTrigger(sShowTrigger, sizeof(sShowTrigger));
|
Config.GetShowTrigger(sShowTrigger, sizeof(sShowTrigger));
|
||||||
|
|
||||||
if(!StrEqual(sTargetname, sShowTrigger))
|
if(!sShowTrigger[0])
|
||||||
|
continue;
|
||||||
|
|
||||||
|
int iShowTriggerHammerID = -1;
|
||||||
|
if(sShowTrigger[0] == '#')
|
||||||
|
{
|
||||||
|
iShowTriggerHammerID = StringToInt(sShowTrigger[1]);
|
||||||
|
|
||||||
|
if(iShowTriggerHammerID != iHammerID)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if(!sTargetname[0] || !StrEqual(sTargetname, sShowTrigger))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
char sShowOutput[64];
|
char sShowOutput[64];
|
||||||
@ -525,7 +564,10 @@ void OnShowTrigger(int entity, const char[] output, SDKHookType HookType = view_
|
|||||||
if(!StrEqual(output, sShowOutput))
|
if(!StrEqual(output, sShowOutput))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
LogMessage("Triggered show boss %s(%d) from output %s", sTargetname, entity, output);
|
if(iShowTriggerHammerID == -1)
|
||||||
|
LogMessage("Triggered show boss %s(%d) from output %s", sTargetname, entity, output);
|
||||||
|
else
|
||||||
|
LogMessage("Triggered show boss #%d(%d) from output %s", iShowTriggerHammerID, entity, output);
|
||||||
|
|
||||||
if(HookType != view_as<SDKHookType>(-1) && !Config.bMultiTrigger)
|
if(HookType != view_as<SDKHookType>(-1) && !Config.bMultiTrigger)
|
||||||
{
|
{
|
||||||
@ -562,8 +604,9 @@ void OnShowTrigger(int entity, const char[] output, SDKHookType HookType = view_
|
|||||||
void OnKillTrigger(int entity, const char[] output, SDKHookType HookType = view_as<SDKHookType>(-1))
|
void OnKillTrigger(int entity, const char[] output, SDKHookType HookType = view_as<SDKHookType>(-1))
|
||||||
{
|
{
|
||||||
char sTargetname[64];
|
char sTargetname[64];
|
||||||
if(!GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname)))
|
GetEntPropString(entity, Prop_Data, "m_iName", sTargetname, sizeof(sTargetname));
|
||||||
return;
|
|
||||||
|
int iHammerID = GetEntProp(entity, Prop_Data, "m_iHammerID");
|
||||||
|
|
||||||
int iTemplateNum = -1;
|
int iTemplateNum = -1;
|
||||||
int iTemplateLoc = FindCharInString(sTargetname, '&', true);
|
int iTemplateLoc = FindCharInString(sTargetname, '&', true);
|
||||||
@ -580,7 +623,18 @@ void OnKillTrigger(int entity, const char[] output, SDKHookType HookType = view_
|
|||||||
char sKillTrigger[64];
|
char sKillTrigger[64];
|
||||||
Config.GetKillTrigger(sKillTrigger, sizeof(sKillTrigger));
|
Config.GetKillTrigger(sKillTrigger, sizeof(sKillTrigger));
|
||||||
|
|
||||||
if(!sKillTrigger[0] || !StrEqual(sTargetname, sKillTrigger))
|
if(!sKillTrigger[0])
|
||||||
|
continue;
|
||||||
|
|
||||||
|
int iKillTriggerHammerID = -1;
|
||||||
|
if(sKillTrigger[0] == '#')
|
||||||
|
{
|
||||||
|
iKillTriggerHammerID = StringToInt(sKillTrigger[1]);
|
||||||
|
|
||||||
|
if(iKillTriggerHammerID != iHammerID)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if(!sTargetname[0] || !StrEqual(sTargetname, sKillTrigger))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
char sKillOutput[64];
|
char sKillOutput[64];
|
||||||
@ -589,7 +643,10 @@ void OnKillTrigger(int entity, const char[] output, SDKHookType HookType = view_
|
|||||||
if(!StrEqual(output, sKillOutput))
|
if(!StrEqual(output, sKillOutput))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
LogMessage("Triggered kill boss %s(%d) from output %s", sTargetname, entity, output);
|
if(iKillTriggerHammerID == -1)
|
||||||
|
LogMessage("Triggered kill boss %s(%d) from output %s", sTargetname, entity, output);
|
||||||
|
else
|
||||||
|
LogMessage("Triggered kill boss #%d(%d) from output %s", iKillTriggerHammerID, entity, output);
|
||||||
|
|
||||||
if(HookType != view_as<SDKHookType>(-1) && !Config.bMultiTrigger)
|
if(HookType != view_as<SDKHookType>(-1) && !Config.bMultiTrigger)
|
||||||
{
|
{
|
||||||
@ -636,8 +693,8 @@ public void OnEnvEntityMakerEntitySpawned(const char[] output, int caller, int a
|
|||||||
|
|
||||||
if(!StrEqual(sClassname, "env_entity_maker"))
|
if(!StrEqual(sClassname, "env_entity_maker"))
|
||||||
{
|
{
|
||||||
//LogError("[SOURCEMOD BUG] output: \"%s\", caller: %d, activator: %d, delay: %f, classname: \"%s\"",
|
LogError("[SOURCEMOD BUG] output: \"%s\", caller: %d, activator: %d, delay: %f, classname: \"%s\"",
|
||||||
// output, caller, activator, delay, sClassname);
|
output, caller, activator, delay, sClassname);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user