Added support for the upcoming script reward "changeColorFilter"

This commit is contained in:
Zukero
2017-01-25 19:11:45 +01:00
parent 291808a564
commit 8333fe3621
4 changed files with 36 additions and 1 deletions

View File

@@ -64,7 +64,8 @@ public class Dialogue extends JSONElement {
removeSpawnArea,
deactivateSpawnArea,
activateMapObjectGroup,
deactivateMapObjectGroup
deactivateMapObjectGroup,
changeMapFilter
}
}
@@ -244,6 +245,7 @@ public class Dialogue extends JSONElement {
case spawnAll:
case removeSpawnArea:
case deactivateSpawnArea:
case changeMapFilter:
reward.map = reward.map_name != null ? proj.getMap(reward.map_name) : null;
break;
case actorCondition:

View File

@@ -39,6 +39,7 @@ public class TMXMap extends GameDataElement {
public static final String WALKABLE_LAYER_NAME = "Walkable";
public enum ColorFilter {
none,
black20,
black40,
black60,

View File

@@ -91,6 +91,7 @@ public class DialogueEditor extends JSONElementEditor {
private JPanel rewardsParamsPane;
private MyComboBox rewardMap;
private JTextField rewardObjId;
private JComboBox rewardObjIdCombo;
private MyComboBox rewardObj;
private JSpinner rewardValue;
@@ -360,6 +361,14 @@ public class DialogueEditor extends JSONElementEditor {
case deactivateMapObjectGroup:
rewardMap = addMapBox(pane, ((Dialogue)target).getProject(), "Map Name: ", reward.map, writable, listener);
rewardObjId = addTextField(pane, "Group ID: ", reward.reward_obj_id, writable, listener);
rewardObjIdCombo = null;
rewardObj = null;
rewardValue = null;
break;
case changeMapFilter:
rewardMap = addMapBox(pane, ((Dialogue)target).getProject(), "Map Name: ", reward.map, writable, listener);
rewardObjId = null;
rewardObjIdCombo = addEnumValueBox(pane, "Color Filter", TMXMap.ColorFilter.values(), reward.reward_obj_id != null ? TMXMap.ColorFilter.valueOf(reward.reward_obj_id) : TMXMap.ColorFilter.none, writable, listener);
rewardObj = null;
rewardValue = null;
break;
@@ -368,30 +377,35 @@ public class DialogueEditor extends JSONElementEditor {
case spawnAll:
rewardMap = addMapBox(pane, ((Dialogue)target).getProject(), "Map Name: ", reward.map, writable, listener);
rewardObjId = addTextField(pane, "Area ID: ", reward.reward_obj_id, writable, listener);
rewardObjIdCombo = null;
rewardObj = null;
rewardValue = null;
break;
case actorCondition:
rewardMap = null;
rewardObjId = null;
rewardObjIdCombo = null;
rewardObj = addActorConditionBox(pane, ((Dialogue)target).getProject(), "Actor Condition: ", (ActorCondition) reward.reward_obj, writable, listener);
rewardValue = addIntegerField(pane, "Duration: ", reward.reward_value, false, writable, listener);
break;
case alignmentChange:
rewardMap = null;
rewardObjId = addTextField(pane, "Faction: ", reward.reward_obj_id, writable, listener);
rewardObjIdCombo = null;
rewardObj = null;
rewardValue = addIntegerField(pane, "Value: ", reward.reward_value, true, writable, listener);
break;
case createTimer:
rewardMap = null;
rewardObjId = addTextField(pane, "Timer ID: ", reward.reward_obj_id, writable, listener);
rewardObjIdCombo = null;
rewardObj = null;
rewardValue = null;
break;
case dropList:
rewardMap = null;
rewardObjId = null;
rewardObjIdCombo = null;
rewardObj = addDroplistBox(pane, ((Dialogue)target).getProject(), "Droplist: ", (Droplist) reward.reward_obj, writable, listener);
rewardValue = null;
break;
@@ -404,12 +418,14 @@ public class DialogueEditor extends JSONElementEditor {
case questProgress:
rewardMap = null;
rewardObjId = null;
rewardObjIdCombo = null;
rewardObj = addQuestBox(pane, ((Dialogue)target).getProject(), "Quest: ", (Quest) reward.reward_obj, writable, listener);
rewardValue = addIntegerField(pane, "Step ID: ", reward.reward_value, false, writable, listener);
break;
case skillIncrease:
rewardMap = null;
rewardObjId = addTextField(pane, "Skill ID: ", reward.reward_obj_id, writable, listener);
rewardObjIdCombo = null;
rewardObj = null;
rewardValue = null;
break;
@@ -819,6 +835,10 @@ public class DialogueEditor extends JSONElementEditor {
label.setText("Respawn all monsters in spawnarea area "+rewardObjDesc+" on map "+reward.map_name);
label.setIcon(new ImageIcon(DefaultIcons.getNPCIcon()));
break;
case changeMapFilter:
label.setText("Change map filter to "+rewardObjDesc+" on map "+reward.map_name);
label.setIcon(new ImageIcon(DefaultIcons.getReplaceIcon()));
break;
}
} else {
label.setText("New, undefined reward");
@@ -1100,6 +1120,9 @@ public class DialogueEditor extends JSONElementEditor {
} else if (source == rewardObjId) {
selectedReward.reward_obj_id = rewardObjId.getText();
rewardsListModel.itemChanged(selectedReward);
} else if (source == rewardObjIdCombo) {
selectedReward.reward_obj_id = rewardObjIdCombo.getSelectedItem().toString();
rewardsListModel.itemChanged(selectedReward);
} else if (source == rewardObj) {
if (selectedReward.reward_obj != null) {
selectedReward.reward_obj.removeBacklink(dialogue);

View File

@@ -92,6 +92,15 @@ public class MapColorFilters {
0.00f, 0.00f, 0.00f, 1.0f, 0.0f
});
break;
case none:
f=1f;
newComp = new MatrixComposite(new float[]{
f, 0.00f, 0.00f, 0.0f, 0.0f,
0.00f, f, 0.00f, 0.0f, 0.0f,
0.00f, 0.00f, f, 0.0f, 0.0f,
0.00f, 0.00f, 0.00f, 1.0f, 0.0f
});
break;
default:
break;