Use gametype checks in plugins

develop
lethosor 2015-03-09 20:17:09 -04:00
parent afca7419dc
commit 0c5b5c691a
4 changed files with 8 additions and 8 deletions

@ -10,6 +10,7 @@
#include "PluginManager.h" #include "PluginManager.h"
#include "modules/MapCache.h" #include "modules/MapCache.h"
#include "modules/Random.h" #include "modules/Random.h"
#include "modules/World.h"
#include "MiscUtils.h" #include "MiscUtils.h"
@ -1626,7 +1627,7 @@ command_result cmd_3dveins(color_ostream &con, std::vector<std::string> & parame
return CR_FAILURE; return CR_FAILURE;
} }
if (*gametype != game_type::DWARF_MAIN && *gametype != game_type::DWARF_RECLAIM) if (!World::isFortressMode())
{ {
con.printerr("Must be used in fortress mode!\n"); con.printerr("Must be used in fortress mode!\n");
return CR_FAILURE; return CR_FAILURE;

@ -11,6 +11,7 @@
#include "modules/Gui.h" #include "modules/Gui.h"
#include "modules/Items.h" #include "modules/Items.h"
#include "modules/Materials.h" #include "modules/Materials.h"
#include "modules/World.h"
#include "DataDefs.h" #include "DataDefs.h"
#include "df/game_type.h" #include "df/game_type.h"
@ -84,7 +85,7 @@ bool makeItem (df::reaction_product_itemst *prod, df::unit *unit, bool second_it
prod->produce(unit, &out_items, &in_reag, &in_items, 1, job_skill::NONE, prod->produce(unit, &out_items, &in_reag, &in_items, 1, job_skill::NONE,
df::historical_entity::find(unit->civ_id), df::historical_entity::find(unit->civ_id),
((*gametype == game_type::DWARF_MAIN) || (*gametype == game_type::DWARF_RECLAIM)) ? df::world_site::find(ui->site_id) : NULL); (World::isFortressMode()) ? df::world_site::find(ui->site_id) : NULL);
if (!out_items.size()) if (!out_items.size())
return false; return false;
// if we asked to make shoes and we got twice as many as we asked, then we're okay // if we asked to make shoes and we got twice as many as we asked, then we're okay
@ -348,7 +349,7 @@ command_result df_createitem (color_ostream &out, vector <string> & parameters)
df::unit *unit = Gui::getSelectedUnit(out, true); df::unit *unit = Gui::getSelectedUnit(out, true);
if (!unit) if (!unit)
{ {
if (*gametype == game_type::ADVENTURE_ARENA || *gametype == game_type::ADVENTURE_MAIN) if (*gametype == game_type::ADVENTURE_ARENA || World::isAdventureMode())
{ {
// Use the adventurer unit // Use the adventurer unit
unit = world->units.active[0]; unit = world->units.active[0];

@ -346,7 +346,7 @@ command_result revflood(color_ostream &out, vector<string> & params)
} }
t_gamemodes gm; t_gamemodes gm;
World::ReadGameMode(gm); World::ReadGameMode(gm);
if(gm.g_type != game_type::DWARF_MAIN && gm.g_mode != game_mode::DWARF ) if(!World::isFortressMode(gm.g_type) || gm.g_mode != game_mode::DWARF )
{ {
out.printerr("Only in proper dwarf mode.\n"); out.printerr("Only in proper dwarf mode.\n");
return CR_FAILURE; return CR_FAILURE;

@ -119,8 +119,7 @@ command_result df_seedwatch(color_ostream &out, vector<string>& parameters)
World::ReadGameMode(gm);// FIXME: check return value World::ReadGameMode(gm);// FIXME: check return value
// if game mode isn't fortress mode // if game mode isn't fortress mode
if(gm.g_mode != game_mode::DWARF || if(gm.g_mode != game_mode::DWARF || !World::isFortressMode(gm.g_type))
!(gm.g_type == game_type::DWARF_MAIN || gm.g_type == game_type::DWARF_RECLAIM))
{ {
// just print the help // just print the help
printHelp(out); printHelp(out);
@ -310,8 +309,7 @@ DFhackCExport command_result plugin_onupdate(color_ostream &out)
t_gamemodes gm; t_gamemodes gm;
World::ReadGameMode(gm);// FIXME: check return value World::ReadGameMode(gm);// FIXME: check return value
// if game mode isn't fortress mode // if game mode isn't fortress mode
if(gm.g_mode != game_mode::DWARF || if(gm.g_mode != game_mode::DWARF || !World::isFortressMode(gm.g_type))
!(gm.g_type == game_type::DWARF_MAIN || gm.g_type == game_type::DWARF_RECLAIM))
{ {
// stop running. // stop running.
running = false; running = false;