generated if the royal jelly is dead, you don't worship Jiyva, and you're not under penance from Jiyva; don't destroy Jiyva's altars if the royal jelly dies after you start worshipping him or go under penance from him; and clean up the alternate method for unlocking the Slime Pits.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10332 c06c8d41-db1a-0410-9941-cceddc491573
GQQ6ASWTYODIHG7X32JNUUHP5NMOVZJIHWGS3F3MKRYZGAHP6NVQC LUH72JJEXFXC76PRCIZGY6GBY3H7WWXT2T6E4WQQSMA4DZZTPYCQC TENQHEOZX6C2RL64QGV6NGVFY4A5HBOD5GZ5EZTJHWATQNRIE2IQC X6ZV6QUAVSBSEK3ITZCZTWDRHULT4L4TACLACE5SSOCQ32UGUXUQC SPVOFYGEIQK554DIVLG33OWQ6P45MZBHJBDG2537NYPMKZL4EC6AC ZL4S2AICGMIH5DCHUXH6GJHSGELIONW6DOMFWB5PE62BVS7QZZEAC VAHOYRQ2JBS4C4FVJBVTGITYI4WWR575SMQAUVL2LPK54VBHUY5QC G6OL3JDQN55GHLBQCOXBZ5K7L6JJ3HITVPBUHSO4F4EDUJFWXGVAC SDZYI64673GM344DHCDQSWOJTX7EVW6VXRYA7DHGFVNYR5J5RYGQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC AM7QPHDAWNXHLUEVUHVRHG2RO2DOIEFFU4GV3DCIROW6O5HW7H4AC PSCYVKJ7DGXAL3V5U4O6AJTRV6Q3N3SHQWAZ73VIPRTE4W64F2XAC M7WTOF3BVX5MGA7AQZB22YEFWCSL7RLW54PQM3MTRLCKUCUZZEUAC IP4STBRVFU5OPNAPM2XZWU77PXHKLOPBW5EGLGB4ZHYNZS7QKTKAC 5WVUTEZLEZEML54CKPR6GACQBYY3EMVNXMLJOREN6SSEUZGC47AQC EIULXYQC3OPXDGTBRDOI7ITILQ22RGEGG6UFCGY2O5HD7SN5NUUQC WXZQJUZXMYS7R6ORNB7DWE5KEUXT262GXWMRPOJYYB4I3BFGYLLAC SWOYPTHJAWFEDBMB3ROT33VQZIXGZD5UOXEV456DDUENW2HGA66QC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC 2RJUPYKEDZZCW4GDG6WLEDVYF32ADC4W5I42KSKHN3MWEBCWSAHQC GNVJ7ESHE4IPEZCRTBTHUQXSZWWKXLOU76G3XSTEAURMI4JCPLMAC DJZK6ZJ42EUTFF2OBOL5YYFPMLXCTDNGE2RF73ZJ4N54FEIHBGPQC CRUW4EVU3UDWNKXBCPWWHWXXGE7EMEHKK3PLLUD7NWPYY4K2R3YAC T6TL6NTIOBYNUIONGK3JFZJ5ONWV6S4CTIRDC5JMKMCBGG5IY3EAC NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC HM6NOS7BN5665KWIFGBXOHZIDMRSVCESN72GMGI6NVBFZGCF3L6QC DZ2GM3MGYCEOQ24AMGGYIF2U4PAFHIACEPS7MUQ7TM35OL2YFQVAC HQSI2RK5QGNSOR5Y67GZDK4ZWFZ5DSRPASXAV4VHYVB5TUXFZWJQC KEWUUIWZCM2VE6WZX4BC4DXGL7LBAWGLUPCPA4KCBCUL5ZQLECBAC YF2GZWXNV6NVFFEBEOYS67JQJQK2IUS5BZMGJW3XQPYIJYHQJCEQC ZJU5Z2WDMI7HN4XJ3NVTVRHIZO2CGFUQ2FSKIRJVTQG47XHNCZFQC MKAR2SIMUA65TXXLYZJFUYAOVGBYJF25YJ2UBANSCPOYYUOFG7PAC 5XNQ3SSNBFXFNWA6DPM74W6FH65NX665P3DMH6YCWVFOPZTJSYCQC JJVROJMJVKS7VN5HJNB4ZNCG7Y6EMHJQZR3MDN2VZCFTZC73HOZQC 7VVRO5HMNNOXVRLBLJUCHUJP6MDIRMC2BWCO7MWH4OLQRM3LMTMQC // Complimentary jelly upon joining.if (you.religion == GOD_JIYVA && !_has_jelly())
// Complimentary jelly upon joining for the first time.if (you.religion == GOD_JIYVA && you.worshipped[GOD_JIYVA] == 1)
if (level_id::current() == level_id(BRANCH_SLIME_PITS, 6)){const level_id target(BRANCH_SLIME_PITS, 6);bool done = apply_to_level(target, true, slime_vault_to_floor);if (done){if (silenced(you.pos())){mpr("An unexplained breeze blows through the dungeon.",MSGCH_GOD);}elsempr("You hear the sound of toppling stones.", MSGCH_GOD);}
_delayed_monster(mg);simple_god_message(" grants you a jelly!");
your_level = 0;level_type = LEVEL_DUNGEON;entry_cause = EC_SELF_EXPLICIT;entry_cause_god = GOD_NO_GOD;where_are_you = BRANCH_MAIN_DUNGEON;char_direction = GDT_DESCENDING;opened_zot = false;
your_level = 0;level_type = LEVEL_DUNGEON;entry_cause = EC_SELF_EXPLICIT;entry_cause_god = GOD_NO_GOD;where_are_you = BRANCH_MAIN_DUNGEON;char_direction = GDT_DESCENDING;opened_zot = false;royal_jelly_dead = false;
static bool _slime_pit_unlock(bool silent)
for (int x = 0; x < GXM && !in_los; ++x){for (int y = 0; y < GYM; ++y){if ((grd[x][y] == DNGN_STONE_WALL|| grd[x][y] == DNGN_CLEAR_STONE_WALL)&& see_grid(x, y)){in_los = true;break;}}}return (in_los);}static bool _slime_vault_to_glass(bool silent)
{for (int x = 0; x < GXM && !in_los; ++x)for (int y = 0; y < GYM; ++y)if (grd[x][y] == DNGN_STONE_WALL && see_grid(x, y)){in_los = true;break;}}
in_los = _slime_vault_in_los();
static bool _slime_pit_unlock_offlevel()
static bool _slime_vault_to_glass_offlevel(){return _slime_vault_to_glass(true);}static bool _slime_vault_to_glass_onlevel(){return _slime_vault_to_glass(false);}static bool _slime_vault_to_floor(bool silent){unset_level_flags(LFLAG_NO_TELE_CONTROL, silent);bool in_los = false;if (!silent)in_los = _slime_vault_in_los();replace_area_wrapper(DNGN_STONE_WALL, DNGN_FLOOR);// In case it was already vitrified, but then it's less noticeable.replace_area_wrapper(DNGN_CLEAR_STONE_WALL, DNGN_FLOOR);if (silenced(you.pos()))mpr("An unexplained breeze blows through the dungeon.", MSGCH_GOD);elsempr("You hear the sound of toppling stones.", MSGCH_GOD);return (true);}static bool _slime_vault_to_floor_offlevel(){return _slime_vault_to_floor(true);}static bool _slime_vault_to_floor_onlevel()
return _slime_pit_unlock(false);
const level_id target(BRANCH_SLIME_PITS, 6);if (is_existing_level(target)){if (glass){apply_to_level(target, true,target == level_id::current() ?_slime_vault_to_glass_onlevel :_slime_vault_to_glass_offlevel);}else{apply_to_level(target, true,target == level_id::current() ?_slime_vault_to_floor_onlevel :_slime_vault_to_floor_offlevel);}}
const level_id target(BRANCH_SLIME_PITS, 6);if (is_existing_level(target)){apply_to_level(target,true,target == level_id::current() ? _slime_pit_unlock_onlevel: _slime_pit_unlock_offlevel);}
you.royal_jelly_dead = true;if (jiyva_is_dead())slime_vault_change(true);
bool slime_vault_to_floor(){bool success = false;for (rectangle_iterator ri(1); ri; ++ri){if (grd(*ri) == DNGN_STONE_WALL){grd(*ri) = DNGN_FLOOR;success = true;}}return (success);}
{if (apply_to_level(target, true, slime_vault_to_floor)){if (!silenced(you.pos())){mpr("You hear the sound of toppling stones.",MSGCH_MONSTER_ENCHANT);}else{mpr("An unexplained breeze blows through the dungeon.",MSGCH_MONSTER_ENCHANT);}}times_entered++;}
slime_vault_change(jiyva_is_dead());times_entered++;