Implement script support needed for dungeons

Only a few are supported right now
You will need certain script files in ./resources/Scripts
This commit is contained in:
Melledy
2022-04-28 22:19:14 -07:00
parent 17addc1522
commit c1e69ce343
49 changed files with 1604 additions and 44 deletions

View File

@@ -0,0 +1,17 @@
package emu.grasscutter.scripts.data;
import java.util.List;
import emu.grasscutter.utils.Position;
public class SceneBlock {
public int id;
public Position max;
public Position min;
public List<SceneGroup> groups;
public boolean contains(Position pos) {
return pos.getX() <= max.getX() && pos.getX() >= min.getX() &&
pos.getZ() <= max.getZ() && pos.getZ() >= min.getZ();
}
}

View File

@@ -0,0 +1,11 @@
package emu.grasscutter.scripts.data;
import emu.grasscutter.utils.Position;
public class SceneConfig {
public Position vision_anchor;
public Position born_pos;
public Position born_rot;
public Position begin_pos;
public Position size;
}

View File

@@ -0,0 +1,12 @@
package emu.grasscutter.scripts.data;
import emu.grasscutter.utils.Position;
public class SceneGadget {
public int level;
public int config_id;
public int gadget_id;
public int state;
public Position pos;
public Position rot;
}

View File

@@ -0,0 +1,17 @@
package emu.grasscutter.scripts.data;
import java.util.List;
import emu.grasscutter.utils.Position;
public class SceneGroup {
public int id;
public int refresh_id;
public Position pos;
public List<SceneMonster> monsters;
public List<SceneGadget> gadgets;
public List<SceneTrigger> triggers;
public List<SceneSuite> suites;
public SceneInitConfig init_config;
}

View File

@@ -0,0 +1,9 @@
package emu.grasscutter.scripts.data;
import emu.grasscutter.utils.Position;
public class SceneInitConfig {
public int suite;
public int end_suite;
public int rand_suite;
}

View File

@@ -0,0 +1,11 @@
package emu.grasscutter.scripts.data;
import emu.grasscutter.utils.Position;
public class SceneMonster {
public int level;
public int config_id;
public int monster_id;
public Position pos;
public Position rot;
}

View File

@@ -0,0 +1,10 @@
package emu.grasscutter.scripts.data;
import java.util.List;
import emu.grasscutter.utils.Position;
public class SceneSuite {
public List<String> triggers;
public int rand_weight;
}

View File

@@ -0,0 +1,10 @@
package emu.grasscutter.scripts.data;
public class SceneTrigger {
public String name;
public int config_id;
public int event;
public String source;
public String condition;
public String action;
}