void CPHShell::activate(bool disable) { PresetActive(); if(!CPHObject::is_active()) vis_update_deactivate(); if(!disable)EnableObject(0); }
void CPHShell::PureActivate() { if(isActive()) return; //bActive=true; m_flags.set(flActive,TRUE); if(!CPHObject::is_active()) vis_update_deactivate(); EnableObject(0); m_object_in_root.identity(); spatial_register(); }
void CPHShell::RunSimulation(bool place_current_forms/*true*/) { if(!CPHObject::is_active()) vis_update_deactivate(); EnableObject(0); dSpaceSetCleanup(m_space,0); { ELEMENT_I i=elements.begin(),e=elements.end(); if(place_current_forms) for(;i!=e;++i)(*i)->RunSimulation(mXFORM); } { JOINT_I i=joints.begin(),e=joints.end(); for(;i!=e;++i) (*i)->RunSimulation(); } spatial_register(); }
void Game::ModifyTablesPerRuleset(void) { if(Globals->APPRENTICES_EXIST) EnableSkill(S_MANIPULATE); if(!Globals->GATES_EXIST) DisableSkill(S_GATE_LORE); if (Globals->FULL_TRUESEEING_BONUS) { ModifyAttribMod("observation", 1, AttribModItem::SKILL, "TRUE", AttribModItem::UNIT_LEVEL, 1); } if (Globals->IMPROVED_AMTS) { ModifyAttribMod("observation", 2, AttribModItem::ITEM, "AMTS", AttribModItem::CONSTANT, 3); } if (Globals->FULL_INVIS_ON_SELF) { ModifyAttribMod("stealth", 3, AttribModItem::SKILL, "INVI", AttribModItem::UNIT_LEVEL, 1); } if(Globals->NEXUS_IS_CITY && Globals->TOWNS_EXIST) { ClearTerrainRaces(R_NEXUS); ModifyTerrainRace(R_NEXUS, 0, I_HIGHELF); ModifyTerrainRace(R_NEXUS, 1, I_VIKING); ModifyTerrainRace(R_NEXUS, 2, I_PLAINSMAN); ClearTerrainItems(R_NEXUS); ModifyTerrainItems(R_NEXUS, 0, I_IRON, 100, 10); ModifyTerrainItems(R_NEXUS, 1, I_WOOD, 100, 10); ModifyTerrainItems(R_NEXUS, 2, I_STONE, 100, 10); ModifyTerrainEconomy(R_NEXUS, 1000, 15, 50, 2); } EnableItem(I_PICK); EnableItem(I_SPEAR); EnableItem(I_AXE); EnableItem(I_HAMMER); EnableItem(I_MCROSSBOW); EnableItem(I_MWAGON); EnableItem(I_GLIDER); EnableItem(I_NET); EnableItem(I_LASSO); EnableItem(I_BAG); EnableItem(I_SPINNING); EnableItem(I_LEATHERARMOR); EnableItem(I_CLOTHARMOR); EnableItem(I_BOOTS); EnableItem(I_BAXE); EnableItem(I_MBAXE); EnableItem(I_IMARM); EnableItem(I_SUPERBOW); EnableItem(I_LANCE); EnableItem(I_JAVELIN); EnableItem(I_PIKE); EnableSkill(S_ARMORCRAFT); EnableSkill(S_WEAPONCRAFT); EnableObject(O_ROADN); EnableObject(O_ROADNE); EnableObject(O_ROADNW); EnableObject(O_ROADS); EnableObject(O_ROADSE); EnableObject(O_ROADSW); EnableObject(O_ISLE); EnableObject(O_DERELICT); EnableObject(O_OCAVE); EnableObject(O_WHIRL); EnableItem(I_PIRATES); EnableItem(I_KRAKEN); EnableItem(I_MERFOLK); EnableItem(I_ELEMENTAL); if((Globals->UNDERDEEP_LEVELS > 0) || (Globals->UNDERWORLD_LEVELS > 1)) { EnableItem(I_MUSHROOM); EnableItem(I_HEALPOTION); EnableItem(I_ROUGHGEM); EnableItem(I_GEMS); EnableSkill(S_GEMCUTTING); } // Modify the various spells which are allowed to cross levels if(Globals->EASIER_UNDERWORLD) { ModifyRangeFlags("rng_teleport", RangeType::RNG_CROSS_LEVELS); ModifyRangeFlags("rng_farsight", RangeType::RNG_CROSS_LEVELS); ModifyRangeFlags("rng_clearsky", RangeType::RNG_CROSS_LEVELS); ModifyRangeFlags("rng_weather", RangeType::RNG_CROSS_LEVELS); } if (Globals->TRANSPORT & GameDefs::ALLOW_TRANSPORT) { EnableSkill(S_QUARTERMASTER); EnableObject(O_CARAVANSERAI); } // XXX -- This is just here to preserve existing behavior ModifyItemProductionBooster(I_AXE, I_HAMMER, 1); return; }