diff options
Diffstat (limited to 'internal/world')
| -rw-r--r-- | internal/world/room.go | 2 | ||||
| -rw-r--r-- | internal/world/room_migrate.go | 22 | ||||
| -rw-r--r-- | internal/world/room_migrate_test.go | 18 |
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) } |
