game: try to not delete the party custom sheet when a scenario is downloaded
+ legacy mode: force_wall seems to be able to replace quickfire + correct a mistake...
This commit is contained in:
@@ -2519,7 +2519,7 @@ void load_spec_graphics_v1(fs::path scen_file) {
|
||||
}
|
||||
|
||||
void load_spec_graphics_v2(int num_sheets) {
|
||||
spec_scen_g.clear();
|
||||
spec_scen_g.sheets.clear(); // we must not clear the party sheet here
|
||||
if(num_sheets > 0) {
|
||||
spec_scen_g.sheets.resize(num_sheets);
|
||||
spec_scen_g.numSheets = num_sheets;
|
||||
|
@@ -1901,7 +1901,6 @@ void special_increase_age(long length, bool queue) {
|
||||
auto party_timers = univ.party.party_event_timers;
|
||||
for(short i = 0; i < party_timers.size(); i++) {
|
||||
if(party_timers[i].time <= length) {
|
||||
univ.party.age = age_before + party_timers[i].time;
|
||||
univ.party.age = long(age_before) + party_timers[i].time;
|
||||
auto which_type = party_timers[i].node_type;
|
||||
bool need_redraw = false;
|
||||
|
@@ -356,7 +356,8 @@ bool cCurTown::set_force_wall(short x, short y, bool b){
|
||||
if(b){ // If certain things are on space, there's no room for field.
|
||||
if(is_impassable(x,y))
|
||||
return false;
|
||||
if(is_antimagic(x,y) || is_blade_wall(x,y) || is_quickfire(x,y))
|
||||
// checkme: do we really want to change the comportement of quickfire in new game
|
||||
if(is_antimagic(x,y) || is_blade_wall(x,y) || (!univ.scenario.is_legacy && is_quickfire(x,y)))
|
||||
return false;
|
||||
if(is_crate(x,y) || is_barrel(x,y) || is_fire_barr(x,y) || is_force_barr(x,y))
|
||||
return false;
|
||||
@@ -1144,7 +1145,7 @@ pic_num_t cUniverse::addGraphic(pic_num_t pic, ePicType type) {
|
||||
// And finally, actually transfer the graphic over
|
||||
spec_scen_g.copy_graphic(pos, pic, needSlots);
|
||||
// Also mark these slots used so we don't overwrite them with the next copy
|
||||
for(pic_num_t i = 1; i < needSlots; i++) {
|
||||
for(pic_num_t i = 0; i < needSlots; i++) {
|
||||
used_graphics.insert(pos + i);
|
||||
}
|
||||
return pos;
|
||||
|
Reference in New Issue
Block a user