extract linkEffects

This commit is contained in:
OMGeeky
2025-06-23 15:09:52 +02:00
parent 1ca2b9068e
commit 93f0a902ba
3 changed files with 19 additions and 24 deletions

View File

@@ -17,6 +17,19 @@ public final class Common {
}
}
}
public static void linkEffects(HitEffect effect, Project proj, GameDataElement backlink){
linkEffects((DeathEffect) effect, proj, backlink);
if (effect != null)
{
linkConditions(effect.conditions_target, proj, backlink);
}
}
public static void linkEffects(DeathEffect effect, Project proj, GameDataElement backlink){
if (effect != null)
{
linkConditions(effect.conditions_source, proj, backlink);
}
}
public static class TimedActorConditionEffect extends ActorConditionEffect {
//Available from parsed state

View File

@@ -226,19 +226,9 @@ public class Item extends JSONElement {
linkConditions(this.equip_effect.conditions, proj, this);
}
if (this.hit_effect != null) {
linkConditions(this.hit_effect.conditions_source, proj, this);
linkConditions(this.hit_effect.conditions_target, proj, this);
}
if (this.hit_received_effect != null) {
linkConditions(this.hit_received_effect.conditions_source, proj, this);
linkConditions(this.hit_received_effect.conditions_target, proj, this);
}
if (this.kill_effect != null) {
linkConditions(this.kill_effect.conditions_source, proj, this);
}
linkEffects(this.hit_effect, proj, this);
linkEffects(this.hit_received_effect, proj, this);
linkEffects(this.kill_effect, proj, this);
this.state = State.linked;
}

View File

@@ -230,17 +230,9 @@ public class NPC extends JSONElement {
if (this.droplist_id != null) this.droplist = proj.getDroplist(this.droplist_id);
if (this.droplist != null) this.droplist.addBacklink(this);
if (this.hit_effect != null) {
linkConditions(this.hit_effect.conditions_source, proj, this);
linkConditions(this.hit_effect.conditions_target, proj, this);
}
if (this.hit_received_effect != null) {
linkConditions(this.hit_received_effect.conditions_source, proj, this);
linkConditions(this.hit_received_effect.conditions_target, proj, this);
}
if (this.death_effect != null) {
linkConditions(this.death_effect.conditions_source, proj, this);
}
linkEffects(this.hit_effect, proj, this);
linkEffects(this.hit_received_effect, proj, this);
linkEffects(this.death_effect, proj, this);
this.state = State.linked;
}