mirror of
https://github.com/OMGeeky/ATCS.git
synced 2026-02-23 15:38:23 +01:00
add possibility for hint where the effect is applied to
This commit is contained in:
@@ -53,6 +53,7 @@ public class CommonEditor {
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ConditionsCellRenderer extends DefaultListCellRenderer {
|
public static class ConditionsCellRenderer extends DefaultListCellRenderer {
|
||||||
private static final long serialVersionUID = 7987880146189575234L;
|
private static final long serialVersionUID = 7987880146189575234L;
|
||||||
|
|
||||||
@@ -109,15 +110,15 @@ public class CommonEditor {
|
|||||||
this.selectedHitEffectTargetCondition = selectedHitEffectTargetCondition;
|
this.selectedHitEffectTargetCondition = selectedHitEffectTargetCondition;
|
||||||
}
|
}
|
||||||
|
|
||||||
void createHitEffectPaneContent(NPC npc, FieldUpdateListener listener, Editor editor) {
|
void createHitEffectPaneContent(NPC npc, FieldUpdateListener listener, Editor editor, String applyToHint) {
|
||||||
createDeathEffectPaneContent(npc, listener, editor);
|
createDeathEffectPaneContent(npc, listener, editor, applyToHint);
|
||||||
|
|
||||||
String titleTarget = "Actor Conditions applied to the target: ";
|
String titleTarget = "Actor Conditions applied to the target: ";
|
||||||
hitTargetConditionsListModel = new NPCEditor.TargetTimedConditionsListModel(hitEffect);
|
hitTargetConditionsListModel = new NPCEditor.TargetTimedConditionsListModel(hitEffect);
|
||||||
CommonEditor.TimedConditionsCellRenderer cellRendererTarget = new CommonEditor.TimedConditionsCellRenderer();
|
CommonEditor.TimedConditionsCellRenderer cellRendererTarget = new CommonEditor.TimedConditionsCellRenderer();
|
||||||
BasicLambdaWithArg<Common.TimedActorConditionEffect> selectedSetTarget = (value)-> selectedHitEffectTargetCondition = value;
|
BasicLambdaWithArg<Common.TimedActorConditionEffect> selectedSetTarget = (value) -> selectedHitEffectTargetCondition = value;
|
||||||
BasicLambdaWithReturn<Common.TimedActorConditionEffect> selectedGetTarget = ()-> selectedHitEffectTargetCondition ;
|
BasicLambdaWithReturn<Common.TimedActorConditionEffect> selectedGetTarget = () -> selectedHitEffectTargetCondition;
|
||||||
BasicLambda selectedResetTarget = ()-> selectedHitEffectTargetCondition = null;
|
BasicLambda selectedResetTarget = () -> selectedHitEffectTargetCondition = null;
|
||||||
BasicLambdaWithArg<JPanel> updatePaneTarget = (editorPane) -> updateHitTargetTimedConditionEditorPane(editorPane, selectedHitEffectTargetCondition, listener, editor);
|
BasicLambdaWithArg<JPanel> updatePaneTarget = (editorPane) -> updateHitTargetTimedConditionEditorPane(editorPane, selectedHitEffectTargetCondition, listener, editor);
|
||||||
|
|
||||||
var resultTarget = UiUtils.getCollapsibleItemList(listener,
|
var resultTarget = UiUtils.getCollapsibleItemList(listener,
|
||||||
@@ -125,7 +126,8 @@ public class CommonEditor {
|
|||||||
selectedResetTarget,
|
selectedResetTarget,
|
||||||
selectedSetTarget,
|
selectedSetTarget,
|
||||||
selectedGetTarget,
|
selectedGetTarget,
|
||||||
(x) -> {},
|
(x) -> {
|
||||||
|
},
|
||||||
updatePaneTarget,
|
updatePaneTarget,
|
||||||
npc.writable,
|
npc.writable,
|
||||||
Common.TimedActorConditionEffect::new,
|
Common.TimedActorConditionEffect::new,
|
||||||
@@ -257,7 +259,12 @@ public class CommonEditor {
|
|||||||
this.selectedHitEffectSourceCondition = selectedHitEffectSourceCondition;
|
this.selectedHitEffectSourceCondition = selectedHitEffectSourceCondition;
|
||||||
}
|
}
|
||||||
|
|
||||||
void createDeathEffectPaneContent(NPC npc, FieldUpdateListener listener, Editor editor) {
|
void createDeathEffectPaneContent(NPC npc, FieldUpdateListener listener, Editor editor, String applyToHint) {
|
||||||
|
if (applyToHint == null || applyToHint == "") {
|
||||||
|
applyToHint = "";
|
||||||
|
} else {
|
||||||
|
applyToHint = " (%s)".formatted(applyToHint);
|
||||||
|
}
|
||||||
hitEffectPane = new CollapsiblePanel("Effect on every hit: ");
|
hitEffectPane = new CollapsiblePanel("Effect on every hit: ");
|
||||||
hitEffectPane.setLayout(new JideBoxLayout(hitEffectPane, JideBoxLayout.PAGE_AXIS));
|
hitEffectPane.setLayout(new JideBoxLayout(hitEffectPane, JideBoxLayout.PAGE_AXIS));
|
||||||
if (npc.hit_effect == null) {
|
if (npc.hit_effect == null) {
|
||||||
@@ -265,25 +272,26 @@ public class CommonEditor {
|
|||||||
} else {
|
} else {
|
||||||
hitEffect = npc.hit_effect;
|
hitEffect = npc.hit_effect;
|
||||||
}
|
}
|
||||||
hitEffectHPMin = addIntegerField(hitEffectPane, "HP bonus min: ", hitEffect.hp_boost_min, true, npc.writable, listener);
|
hitEffectHPMin = addIntegerField(hitEffectPane, "HP bonus min%s: ".formatted(applyToHint), hitEffect.hp_boost_min, true, npc.writable, listener);
|
||||||
hitEffectHPMax = addIntegerField(hitEffectPane, "HP bonus max: ", hitEffect.hp_boost_max, true, npc.writable, listener);
|
hitEffectHPMax = addIntegerField(hitEffectPane, "HP bonus max%s: ".formatted(applyToHint), hitEffect.hp_boost_max, true, npc.writable, listener);
|
||||||
hitEffectAPMin = addIntegerField(hitEffectPane, "AP bonus min: ", hitEffect.ap_boost_min, true, npc.writable, listener);
|
hitEffectAPMin = addIntegerField(hitEffectPane, "AP bonus min%s: ".formatted(applyToHint), hitEffect.ap_boost_min, true, npc.writable, listener);
|
||||||
hitEffectAPMax = addIntegerField(hitEffectPane, "AP bonus max: ", hitEffect.ap_boost_max, true, npc.writable, listener);
|
hitEffectAPMax = addIntegerField(hitEffectPane, "AP bonus max%s: ".formatted(applyToHint), hitEffect.ap_boost_max, true, npc.writable, listener);
|
||||||
|
|
||||||
String titleSource = "Actor Conditions applied to the source: ";
|
String titleSource = "Actor Conditions applied to the source: ";
|
||||||
hitSourceConditionsModel = new NPCEditor.SourceTimedConditionsListModel(hitEffect);
|
hitSourceConditionsModel = new NPCEditor.SourceTimedConditionsListModel(hitEffect);
|
||||||
CommonEditor.TimedConditionsCellRenderer cellRendererSource = new CommonEditor.TimedConditionsCellRenderer();
|
CommonEditor.TimedConditionsCellRenderer cellRendererSource = new CommonEditor.TimedConditionsCellRenderer();
|
||||||
BasicLambdaWithArg<Common.TimedActorConditionEffect> selectedSetSource = (value)-> selectedHitEffectSourceCondition = value;
|
BasicLambdaWithArg<Common.TimedActorConditionEffect> selectedSetSource = (value) -> selectedHitEffectSourceCondition = value;
|
||||||
BasicLambdaWithReturn<Common.TimedActorConditionEffect> selectedGetSource = ()-> selectedHitEffectSourceCondition ;
|
BasicLambdaWithReturn<Common.TimedActorConditionEffect> selectedGetSource = () -> selectedHitEffectSourceCondition;
|
||||||
BasicLambda selectedResetSource = ()-> selectedHitEffectSourceCondition = null;
|
BasicLambda selectedResetSource = () -> selectedHitEffectSourceCondition = null;
|
||||||
BasicLambdaWithArg<JPanel> updatePaneSource =(editorPane) -> updateDeathEffectSourceTimedConditionEditorPane(editorPane, selectedHitEffectSourceCondition, listener, editor);
|
BasicLambdaWithArg<JPanel> updatePaneSource = (editorPane) -> updateDeathEffectSourceTimedConditionEditorPane(editorPane, selectedHitEffectSourceCondition, listener, editor);
|
||||||
|
|
||||||
var resultSource = UiUtils.getCollapsibleItemList(listener,
|
var resultSource = UiUtils.getCollapsibleItemList(listener,
|
||||||
hitSourceConditionsModel,
|
hitSourceConditionsModel,
|
||||||
selectedResetSource,
|
selectedResetSource,
|
||||||
selectedSetSource,
|
selectedSetSource,
|
||||||
selectedGetSource,
|
selectedGetSource,
|
||||||
(x) -> {},
|
(x) -> {
|
||||||
|
},
|
||||||
updatePaneSource,
|
updatePaneSource,
|
||||||
npc.writable,
|
npc.writable,
|
||||||
Common.TimedActorConditionEffect::new,
|
Common.TimedActorConditionEffect::new,
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ public class NPCEditor extends JSONElementEditor {
|
|||||||
dmgRes = addIntegerField(combatTraitPane, "Damage resistance: ", npc.damage_resistance, false, npc.writable, listener);
|
dmgRes = addIntegerField(combatTraitPane, "Damage resistance: ", npc.damage_resistance, false, npc.writable, listener);
|
||||||
|
|
||||||
hitEffectPane = new CommonEditor.HitEffectPane(this.hitEffectPane.selectedHitEffectSourceCondition, this.hitEffectPane.selectedHitEffectTargetCondition);
|
hitEffectPane = new CommonEditor.HitEffectPane(this.hitEffectPane.selectedHitEffectSourceCondition, this.hitEffectPane.selectedHitEffectTargetCondition);
|
||||||
hitEffectPane.createHitEffectPaneContent(npc, listener, this);
|
hitEffectPane.createHitEffectPaneContent(npc, listener, this, null);
|
||||||
combatTraitPane.add(hitEffectPane.hitEffectPane, JideBoxLayout.FIX);
|
combatTraitPane.add(hitEffectPane.hitEffectPane, JideBoxLayout.FIX);
|
||||||
|
|
||||||
hitReceivedEffectPane = new CollapsiblePanel("Effect on every hit received: ");
|
hitReceivedEffectPane = new CollapsiblePanel("Effect on every hit received: ");
|
||||||
|
|||||||
Reference in New Issue
Block a user