From 686d026dd1da6c833bc67c25a1e48d64e92d2941 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 12 Dec 2025 23:59:43 +0100 Subject: [PATCH] ru:: save timed orbs --- rogueviz/ru/save.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rogueviz/ru/save.cpp b/rogueviz/ru/save.cpp index cf97a135..6f44c35f 100644 --- a/rogueviz/ru/save.cpp +++ b/rogueviz/ru/save.cpp @@ -70,6 +70,8 @@ void save_as(string fname) { println(f, "AT ", y, " ", x, " ", r.block_at[y][x]); for(auto& e: r.entities) save_via_stater(f, *e, "ENTITY"); + + if(r.timed_orb_end >= gframeid) println(f, "TIMER ", r.timed_orb_end); println(f); } @@ -181,6 +183,10 @@ void load_from(string fname) { sscanf(param.c_str(), "%d%d%d", &x, &y, &c); current_room->block_at[y][x] = c; } + else if(cap == "TIMER") { + if(!current_room) { println(hlog, "warning: no current room"); continue; } + current_room->timed_orb_end = atoi(param.c_str()); + } else if(cap == "ENTITY") { if(!current_room) { println(hlog, "warning: no current room"); continue; } auto add = [&] (std::unique_ptr&& e) { current_room->entities.emplace_back(std::move(e)); current_entity = &*(current_room->entities.back()); };