aboutsummaryrefslogtreecommitdiff
path: root/internal/world
diff options
context:
space:
mode:
Diffstat (limited to 'internal/world')
-rw-r--r--internal/world/room.go2
-rw-r--r--internal/world/room_migrate.go22
-rw-r--r--internal/world/room_migrate_test.go18
3 files changed, 2 insertions, 40 deletions
diff --git a/internal/world/room.go b/internal/world/room.go
index bc115f8..c46c363 100644
--- a/internal/world/room.go
+++ b/internal/world/room.go
@@ -94,8 +94,6 @@ type Room struct {
Mobs []RoomMob `yaml:"mobs"`
OnEnter []behavior.Trigger `yaml:"on_enter,omitempty"`
OnExit []behavior.Trigger `yaml:"on_exit,omitempty"`
- OnFlagChange []behavior.Trigger `yaml:"on_flag_change,omitempty"`
- OnGlobalFlagChange []behavior.Trigger `yaml:"on_global_flag_change,omitempty"`
Hazard string `yaml:"hazard"`
BlockTransport bool `yaml:"block_transport"`
}
diff --git a/internal/world/room_migrate.go b/internal/world/room_migrate.go
index d609c6a..9bc7e0f 100644
--- a/internal/world/room_migrate.go
+++ b/internal/world/room_migrate.go
@@ -6,7 +6,7 @@ import (
// RewriteRoomIDs remaps every genuine room-ID reference in this room per idMap
// (oldID -> newID): exit targets; every Step.Teleport and Step.SpawnMob
-// .DespawnRooms inside on_enter/on_exit/on_flag_change/on_global_flag_change/
+// .DespawnRooms inside on_enter/on_exit/
// on_traverse/on_use/on_look/on_kill blocks; every Condition.Room anywhere in
// the room (exits, descriptions, trigger conditions, per-step conditions,
// including nested all_of/any_of); and mob WanderRooms. It does NOT touch
@@ -62,26 +62,6 @@ func (r *Room) RewriteRoomIDs(idMap map[int]int) bool {
}
changed = changed || c
}
- for i := range r.OnFlagChange {
- c := false
- if remapStepList(idMap, r.OnFlagChange[i].Steps) {
- c = true
- }
- if remapCondition(idMap, r.OnFlagChange[i].Condition) {
- c = true
- }
- changed = changed || c
- }
- for i := range r.OnGlobalFlagChange {
- c := false
- if remapStepList(idMap, r.OnGlobalFlagChange[i].Steps) {
- c = true
- }
- if remapCondition(idMap, r.OnGlobalFlagChange[i].Condition) {
- c = true
- }
- changed = changed || c
- }
// Conditional room descriptions carry a Condition.
for i := range r.Description {
diff --git a/internal/world/room_migrate_test.go b/internal/world/room_migrate_test.go
index 96f74ae..f5bd972 100644
--- a/internal/world/room_migrate_test.go
+++ b/internal/world/room_migrate_test.go
@@ -31,20 +31,13 @@ func TestRoomRewriteRoomIDs(t *testing.T) {
OnExit: []behavior.Trigger{{
Steps: []behavior.Step{{Teleport: 50}},
}},
- OnFlagChange: []behavior.Trigger{{
- Condition: &behavior.Condition{Room: 30},
- Steps: []behavior.Step{{
- Teleport: 40,
- SpawnMob: &behavior.SpawnMobConfig{DespawnRooms: []int{50, 60}},
- }},
- }},
Mobs: []RoomMob{
{ID: "guard", WanderRooms: []int{90, 100}},
},
}
idMap := map[int]int{
- 10: 11, 20: 21, 30: 31, 40: 41, 50: 51, 60: 61,
+ 10: 11, 20: 21, 40: 41, 50: 51, 60: 61,
70: 71, 80: 81, 90: 91, 100: 101, 110: 111,
}
if !r.RewriteRoomIDs(idMap) {
@@ -75,9 +68,6 @@ func TestRoomRewriteRoomIDs(t *testing.T) {
if got := r.OnEnter[0].Condition.Room; got != 21 {
t.Errorf("on_enter trigger condition room = %d, want 21", got)
}
- if got := r.OnFlagChange[0].Condition.Room; got != 31 {
- t.Errorf("on_flag_change condition room = %d, want 31", got)
- }
if got := r.OnEnter[0].Steps[0].Teleport; got != 71 {
t.Errorf("on_enter teleport = %d, want 71", got)
}
@@ -87,12 +77,6 @@ func TestRoomRewriteRoomIDs(t *testing.T) {
if got := r.OnExit[0].Steps[0].Teleport; got != 51 {
t.Errorf("on_exit teleport = %d, want 51", got)
}
- if got := r.OnFlagChange[0].Steps[0].Teleport; got != 41 {
- t.Errorf("on_flag_change teleport = %d, want 41", got)
- }
- if got := r.OnFlagChange[0].Steps[0].SpawnMob.DespawnRooms; len(got) != 2 || got[0] != 51 || got[1] != 61 {
- t.Errorf("on_flag_change despawn_rooms = %v, want [51 61]", got)
- }
if got := r.Mobs[0].WanderRooms; len(got) != 2 || got[0] != 91 || got[1] != 101 {
t.Errorf("mob wander_rooms = %v, want [91 101]", got)
}