new status effect tag added: "LuaHook", can be used to call lua hooks inside status effects
This commit is contained in:
@@ -377,6 +377,7 @@ namespace Barotrauma
|
|||||||
private readonly List<string> talentTriggers;
|
private readonly List<string> talentTriggers;
|
||||||
private readonly List<int> giveExperiences;
|
private readonly List<int> giveExperiences;
|
||||||
private readonly List<GiveSkill> giveSkills;
|
private readonly List<GiveSkill> giveSkills;
|
||||||
|
private readonly List<string> luaHook;
|
||||||
|
|
||||||
public float Duration => duration;
|
public float Duration => duration;
|
||||||
|
|
||||||
@@ -431,6 +432,7 @@ namespace Barotrauma
|
|||||||
talentTriggers = new List<string>();
|
talentTriggers = new List<string>();
|
||||||
giveExperiences = new List<int>();
|
giveExperiences = new List<int>();
|
||||||
giveSkills = new List<GiveSkill>();
|
giveSkills = new List<GiveSkill>();
|
||||||
|
luaHook = new List<string>();
|
||||||
multiplyAfflictionsByMaxVitality = element.GetAttributeBool("multiplyafflictionsbymaxvitality", false);
|
multiplyAfflictionsByMaxVitality = element.GetAttributeBool("multiplyafflictionsbymaxvitality", false);
|
||||||
|
|
||||||
tags = new HashSet<string>(element.GetAttributeString("tags", "").Split(','));
|
tags = new HashSet<string>(element.GetAttributeString("tags", "").Split(','));
|
||||||
@@ -735,6 +737,9 @@ namespace Barotrauma
|
|||||||
case "giveskill":
|
case "giveskill":
|
||||||
giveSkills.Add(new GiveSkill(subElement, parentDebugName));
|
giveSkills.Add(new GiveSkill(subElement, parentDebugName));
|
||||||
break;
|
break;
|
||||||
|
case "luahook":
|
||||||
|
luaHook.Add(subElement.GetAttributeString("name", ""));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
InitProjSpecific(element, parentDebugName);
|
InitProjSpecific(element, parentDebugName);
|
||||||
@@ -1234,6 +1239,14 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (string luaHooks in luaHook)
|
||||||
|
{
|
||||||
|
var result = new LuaResult(GameMain.Lua.hook.Call(luaHooks, this, deltaTime, entity, targets, worldPosition));
|
||||||
|
|
||||||
|
if (result.Bool())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Hull hull = GetHull(entity);
|
Hull hull = GetHull(entity);
|
||||||
Vector2 position = GetPosition(entity, targets, worldPosition);
|
Vector2 position = GetPosition(entity, targets, worldPosition);
|
||||||
if (useItemCount > 0)
|
if (useItemCount > 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user