static void _air_get_immunities(u32b flgs[TR_FLAG_SIZE]) { if (p_ptr->lev >= 50) add_flag(flgs, TR_RES_ELEC); }
static void _giant_spider_get_flags(u32b flgs[OF_ARRAY_SIZE]) { add_flag(flgs, OF_RES_POIS); }
void _Py_InitializeEx_Private(int install_sigs, int install_importlib) { PyInterpreterState *interp; PyThreadState *tstate; PyObject *bimod, *sysmod, *pstderr; char *p; extern void _Py_ReadyTypes(void); #ifdef DEBUG printf("[Python/pylifecycle.c] (_Py_InitializeEx_Private) - Initializing stuff...\n"); #endif if (initialized) return; initialized = 1; _Py_Finalizing = NULL; #if defined(HAVE_LANGINFO_H) && defined(HAVE_SETLOCALE) /* Set up the LC_CTYPE locale, so we can obtain the locale's charset without having to switch locales. */ setlocale(LC_CTYPE, ""); #endif if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0') Py_DebugFlag = add_flag(Py_DebugFlag, p); if ((p = Py_GETENV("PYTHONVERBOSE")) && *p != '\0') Py_VerboseFlag = add_flag(Py_VerboseFlag, p); if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0') Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p); if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0') Py_DontWriteBytecodeFlag = add_flag(Py_DontWriteBytecodeFlag, p); /* The variable is only tested for existence here; _PyRandom_Init will check its value further. */ if ((p = Py_GETENV("PYTHONHASHSEED")) && *p != '\0') Py_HashRandomizationFlag = add_flag(Py_HashRandomizationFlag, p); _PyRandom_Init(); interp = PyInterpreterState_New(); if (interp == NULL) Py_FatalError("Py_Initialize: can't make first interpreter"); tstate = PyThreadState_New(interp); if (tstate == NULL) Py_FatalError("Py_Initialize: can't make first thread"); (void) PyThreadState_Swap(tstate); #ifdef WITH_THREAD /* We can't call _PyEval_FiniThreads() in Py_FinalizeEx because destroying the GIL might fail when it is being referenced from another running thread (see issue #9901). Instead we destroy the previously created GIL here, which ensures that we can call Py_Initialize / Py_FinalizeEx multiple times. */ _PyEval_FiniThreads(); /* Auto-thread-state API */ _PyGILState_Init(interp, tstate); #endif /* WITH_THREAD */ _Py_ReadyTypes(); if (!_PyFrame_Init()) Py_FatalError("Py_Initialize: can't init frames"); if (!_PyLong_Init()) Py_FatalError("Py_Initialize: can't init longs"); if (!PyByteArray_Init()) Py_FatalError("Py_Initialize: can't init bytearray"); if (!_PyFloat_Init()) Py_FatalError("Py_Initialize: can't init float"); interp->modules = PyDict_New(); if (interp->modules == NULL) Py_FatalError("Py_Initialize: can't make modules dictionary"); /* Init Unicode implementation; relies on the codec registry */ if (_PyUnicode_Init() < 0) Py_FatalError("Py_Initialize: can't initialize unicode"); if (_PyStructSequence_Init() < 0) Py_FatalError("Py_Initialize: can't initialize structseq"); bimod = _PyBuiltin_Init(); if (bimod == NULL) Py_FatalError("Py_Initialize: can't initialize builtins modules"); _PyImport_FixupBuiltin(bimod, "builtins"); interp->builtins = PyModule_GetDict(bimod); if (interp->builtins == NULL) Py_FatalError("Py_Initialize: can't initialize builtins dict"); Py_INCREF(interp->builtins); /* initialize builtin exceptions */ _PyExc_Init(bimod); sysmod = _PySys_Init(); if (sysmod == NULL) Py_FatalError("Py_Initialize: can't initialize sys"); interp->sysdict = PyModule_GetDict(sysmod); if (interp->sysdict == NULL) Py_FatalError("Py_Initialize: can't initialize sys dict"); Py_INCREF(interp->sysdict); _PyImport_FixupBuiltin(sysmod, "sys"); PySys_SetPath(Py_GetPath()); PyDict_SetItemString(interp->sysdict, "modules", interp->modules); /* Set up a preliminary stderr printer until we have enough infrastructure for the io module in place. */ pstderr = PyFile_NewStdPrinter(fileno(stderr)); if (pstderr == NULL) Py_FatalError("Py_Initialize: can't set preliminary stderr"); _PySys_SetObjectId(&PyId_stderr, pstderr); PySys_SetObject("__stderr__", pstderr); Py_DECREF(pstderr); _PyImport_Init(); _PyImportHooks_Init(); /* Initialize _warnings. */ _PyWarnings_Init(); if (!install_importlib) return; if (_PyTime_Init() < 0) Py_FatalError("Py_Initialize: can't initialize time"); import_init(interp, sysmod); /* initialize the faulthandler module */ if (_PyFaulthandler_Init()) Py_FatalError("Py_Initialize: can't initialize faulthandler"); if (initfsencoding(interp) < 0) Py_FatalError("Py_Initialize: unable to load the file system codec"); if (install_sigs) initsigs(); /* Signal handling stuff, including initintr() */ if (_PyTraceMalloc_Init() < 0) Py_FatalError("Py_Initialize: can't initialize tracemalloc"); initmain(interp); /* Module __main__ */ if (initstdio() < 0) Py_FatalError( "Py_Initialize: can't initialize sys standard streams"); /* Initialize warnings. */ if (PySys_HasWarnOptions()) { PyObject *warnings_module = PyImport_ImportModule("warnings"); if (warnings_module == NULL) { fprintf(stderr, "'import warnings' failed; traceback:\n"); PyErr_Print(); } Py_XDECREF(warnings_module); } if (!Py_NoSiteFlag) initsite(); /* Module site */ #ifdef DEBUG printf("[Python/pylifecycle.c] (_Py_InitializeEx_Private) - Done initializing stuff.\n"); #endif }
static void _get_flags(u32b flgs[OF_ARRAY_SIZE]) { add_flag(flgs, OF_LEVITATION); add_flag(flgs, OF_RES_POIS); if (p_ptr->lev >= 10) { add_flag(flgs, OF_RES_FIRE); add_flag(flgs, OF_SEE_INVIS); } if (p_ptr->lev >= 20) { add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_COLD); } if (p_ptr->lev >= 30) { add_flag(flgs, OF_RES_ACID); add_flag(flgs, OF_RES_ELEC); add_flag(flgs, OF_RES_CONF); } if (p_ptr->lev >= 40) { add_flag(flgs, OF_REFLECT); add_flag(flgs, OF_RES_LITE); } if (p_ptr->lev >= 45) { } if (p_ptr->lev >= 50) { } }
static void _get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_REGEN); switch (p_ptr->current_r_idx) { case MON_FOREST_TROLL: break; case MON_STONE_TROLL: break; case MON_ICE_TROLL: add_flag(flgs, TR_RES_COLD); add_flag(flgs, TR_BRAND_COLD); break; case MON_FIRE_TROLL: add_flag(flgs, TR_RES_FIRE); add_flag(flgs, TR_BRAND_FIRE); break; case MON_ALGROTH: add_flag(flgs, TR_BRAND_POIS); break; case MON_AKLASH: add_flag(flgs, TR_RES_POIS); add_flag(flgs, TR_RES_ACID); break; case MON_OLOG: add_flag(flgs, TR_RES_POIS); break; case MON_ETTIN: add_flag(flgs, TR_FREE_ACT); add_flag(flgs, TR_RES_POIS); add_flag(flgs, TR_RES_CONF); break; case MON_SPIRIT_TROLL: add_flag(flgs, TR_FREE_ACT); add_flag(flgs, TR_SEE_INVIS); add_flag(flgs, TR_LEVITATION); add_flag(flgs, TR_RES_COLD); add_flag(flgs, TR_RES_ELEC); add_flag(flgs, TR_RES_POIS); add_flag(flgs, TR_RES_CONF); break; case MON_STORM_TROLL: add_flag(flgs, TR_SPEED); add_flag(flgs, TR_RES_COLD); add_flag(flgs, TR_RES_ELEC); add_flag(flgs, TR_RES_ACID); add_flag(flgs, TR_BRAND_ELEC); break; case MON_TROLL_KING: add_flag(flgs, TR_SPEED); add_flag(flgs, TR_FREE_ACT); add_flag(flgs, TR_RES_POIS); add_flag(flgs, TR_RES_CONF); break; } }
static void _dunadan_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_SUST_CON); }
static void _ent_get_vulnerabilities(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_FIRE); }
static void _android_get_vulnerabilities(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_ELEC); }
static void _half_troll_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_SUST_STR); if (p_ptr->lev >= 15) add_flag(flgs, TR_REGEN); }
static void _half_ogre_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_SUST_STR); add_flag(flgs, TR_RES_DARK); }
static void _half_titan_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_CHAOS); }
static void _half_giant_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_SHARDS); add_flag(flgs, TR_SUST_STR); }
static void _gnome_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_FREE_ACT); }
static void _water_get_immunities(u32b flgs[TR_FLAG_SIZE]) { if (p_ptr->lev >= 50) add_flag(flgs, TR_RES_ACID); }
static void _centaur_get_flags(u32b flgs[TR_FLAG_SIZE]) { if (p_ptr->lev >= 10) add_flag(flgs, TR_SPEED); }
static void _high_elf_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_LITE); add_flag(flgs, TR_SEE_INVIS); }
static void _cyclops_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_SOUND); }
static void _hobbit_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_HOLD_LIFE); }
static void _dwarf_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_BLIND); }
static void _imp_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_FIRE); if (p_ptr->lev >= 10) add_flag(flgs, TR_SEE_INVIS); }
static void _get_flags(u32b flgs[OF_ARRAY_SIZE]) { int tier = _find_tier(p_ptr->current_r_idx); if (tier > 3) add_flag(flgs, OF_SPEED); switch (p_ptr->current_r_idx) { case MON_LIGHT_HOUND: add_flag(flgs, OF_RES_LITE); break; case MON_SHADOW_HOUND: add_flag(flgs, OF_RES_DARK); add_flag(flgs, OF_VULN_LITE); break; case MON_FIRE_HOUND: add_flag(flgs, OF_RES_FIRE); add_flag(flgs, OF_VULN_COLD); break; case MON_COLD_HOUND: add_flag(flgs, OF_RES_COLD); add_flag(flgs, OF_VULN_FIRE); break; case MON_ENERGY_HOUND: add_flag(flgs, OF_RES_ELEC); break; case MON_AIR_HOUND: add_flag(flgs, OF_RES_POIS); break; case MON_WATER_HOUND: add_flag(flgs, OF_RES_ACID); break; case MON_EARTH_HOUND: add_flag(flgs, OF_RES_SHARDS); break; case MON_VIBRATION_HOUND: add_flag(flgs, OF_RES_SOUND); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_NEXUS_HOUND: add_flag(flgs, OF_RES_NEXUS); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_MULTI_HUED_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_FIRE); add_flag(flgs, OF_RES_COLD); add_flag(flgs, OF_RES_ACID); add_flag(flgs, OF_RES_ELEC); add_flag(flgs, OF_RES_POIS); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_INERTIA_HOUND: add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_IMPACT_HOUND: add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_NETHER_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_NETHER); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_GRAVITY_HOUND: add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_TIME_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_TIME); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_PLASMA_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_ELEC); add_flag(flgs, OF_RES_FIRE); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_CHAOS_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_CHAOS); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_HOUND_OF_TINDALOS: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_NETHER); add_flag(flgs, OF_RES_TIME); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); add_flag(flgs, OF_LEVITATION); break; case MON_MANA_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_FREE_ACT); break; case MON_AETHER_HOUND: add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_FIRE); add_flag(flgs, OF_RES_COLD); add_flag(flgs, OF_RES_ACID); add_flag(flgs, OF_RES_ELEC); add_flag(flgs, OF_RES_POIS); add_flag(flgs, OF_RES_LITE); add_flag(flgs, OF_RES_DARK); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_RES_NETHER); add_flag(flgs, OF_RES_NEXUS); add_flag(flgs, OF_RES_SOUND); add_flag(flgs, OF_RES_SHARDS); add_flag(flgs, OF_RES_CHAOS); add_flag(flgs, OF_RES_DISEN); add_flag(flgs, OF_RES_TIME); add_flag(flgs, OF_AURA_COLD); add_flag(flgs, OF_AURA_FIRE); add_flag(flgs, OF_AURA_ELEC); add_flag(flgs, OF_FREE_ACT); break; } }
static void _amberite_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_SUST_CON); add_flag(flgs, TR_REGEN); }
static void _get_flags(u32b flgs[OF_ARRAY_SIZE]) { add_flag(flgs, OF_SPELL_CAP); /* add_flag(flgs, TR_SPELL_POWER); add_flag(flgs, TR_MAGIC_MASTERY); */ }
static void _archon_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_LEVITATION); add_flag(flgs, TR_SEE_INVIS); }
static void _cave_spider_get_flags(u32b flgs[OF_ARRAY_SIZE]) { add_flag(flgs, OF_RES_POIS); add_flag(flgs, OF_RES_DARK); add_flag(flgs, OF_VULN_LITE); }
static void _barbarian_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_FEAR); }
static void _elder_aranea_get_flags(u32b flgs[OF_ARRAY_SIZE]) { add_flag(flgs, OF_SPEED); add_flag(flgs, OF_RES_FIRE); add_flag(flgs, OF_RES_NETHER); add_flag(flgs, OF_RES_DISEN); add_flag(flgs, OF_RES_DARK); add_flag(flgs, OF_RES_CONF); add_flag(flgs, OF_RES_FEAR); add_flag(flgs, OF_FREE_ACT); add_flag(flgs, OF_SEE_INVIS); add_flag(flgs, OF_REGEN); add_flag(flgs, OF_IM_POIS); add_flag(flgs, OF_VULN_LITE); }
static void _beastman_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_SOUND); add_flag(flgs, TR_RES_CONF); }
static void _aphrodite_get_flags(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_SUST_CHR); }
static void _fire_get_vulnerabilities(u32b flgs[TR_FLAG_SIZE]) { add_flag(flgs, TR_RES_COLD); }