git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10623 c06c8d41-db1a-0410-9941-cceddc491573
FZ3VCF24YWNHTLVHBZYWX37X4FI2SNCXGZGTV2UFGFGAWMOKFIUAC EH4FFBOHIUH2QM43B4CHXRETOAKYV53EAQYA3FETDD5VWV2WX6QQC TR6F3WVSL6TS5SZVGJBGDK54FKAXYWRWXFRNMQ2AYYKHADSHR2EQC T3R2D5M4YSC6NFZ6YO3AEG4VWORECX72CHUM5UBADV4UPAAZG7WQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC XCGPG77ZJUVU6TH4Z4I3K677TAG7XTDEEWRP7IGVO7MG7GBVPOSQC KZWOHH536QBWAPWROR32EOXEK5LRY6I5VHVL7HHI7GOFKCMQTCSQC Q6WLX2VTRJ3LGDPWBH5WKQM7CIIJ5H6AEIKMXPF2PJA5JX5ZLUZQC 2G7MZ653N3JUHJ4DA5Q7VRO3S5T27DLPKDCJEKB6DGYSTXULUVWAC IXO5VNCDYDYI46Y5QWNJMD7TURKYO526CJA4TIMH5PDDAYHMK5YQC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC KQNMFSLV62B4ANDKTUZ7LQH2MD2NDGNCP55MKM5YAATQ4T52H2PQC UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC // These mushrooms should last longer than the lifespan of a corpse// (to avoid spawning mushrooms in the same place over and over), aside// from that the value is slightly randomized to avoid simultaneous// die-offs of mushroom rings.
// It should last longer than the lifespan of a corpse, to avoid// spawning mushrooms in the same place over and over. Aside// from that, the value is slightly randomised to avoid// simultaneous die-offs of mushroom rings.
}break;case ENCH_SPORE_PRODUCTION:// Very low chance of actually making a spore on each turn.if(one_chance_in(5000)){int idx[] = {0, 1, 2, 3, 4, 5, 6, 7};std::random_shuffle(idx, idx + 8);for (unsigned i = 0; i < 8; ++i){coord_def adjacent = this->pos() + Compass[idx[i]];if (mons_class_can_pass(MONS_GIANT_SPORE, env.grid(adjacent))&& !actor_at(adjacent)){beh_type created_behavior = BEH_HOSTILE;if (this->attitude == ATT_FRIENDLY)created_behavior = BEH_FRIENDLY;int rc = create_monster(mgen_data(MONS_GIANT_SPORE,created_behavior,0,0,adjacent,MHITNOT,MG_FORCE_PLACE));if (rc != -1){env.mons[rc].behaviour = BEH_WANDER;if (see_grid(adjacent) && see_grid(pos()))mpr("A nearby fungus spawns a giant spore.");}break;}}
// Spore explosions might spawn a fungus. The spore explosion// covers 21 tiles in open space, so the expected number of spores// produced is the x in x_chance_in_y() in the conditional below.if (is_explosion && this->flavour == BEAM_SPORE&& x_chance_in_y(2, 21)&& mons_class_can_pass(MONS_FUNGUS, env.grid(pos()))&& !actor_at(pos())){int rc = create_monster(mgen_data(MONS_FUNGUS,BEH_HOSTILE,0,0,pos(),MHITNOT,MG_FORCE_PLACE));if (rc != -1 && see_grid(pos()))mpr("A fungus suddenly grows.");}