Compiles without warnings. This includes the new Fire/Frost Brand
base type rules from ndnh, which differ from both the old ndnh rules,
the old and new dnh rules, and the old nndnh rules: crow quills are
banned, but diskoses and isamuseis are allowed. I don't think this
makes sense and I'll probably change it later, but I'm not sure how
exactly yet.
This finishes the quest, "research path" subsitutes for normal altar gifts
and crowning, and ascension, as well as myriad lesser additions and
bugfixes. This role has a few features that I consider "unusually spoiable"
so this commit message will give a spoiler-lite rundown of how to play the
roll, a changelog with unmarked spoilers, then a clear summary of the
spoilers.
Your smithing is capped at basic at the start of the game, upgrading
items with columnar crystals can unlock higher skill caps. Let corpses
rot to find columnar crystals. You will need a forge for this, there is
a guaranteed one in minetown and the quest home level. You can safely
forge any fireproof item. Metal items can be improved up to limits based
on your current smithing skill, non-metal objects can only be improved
using columnar crystals. You can improve basic weapons to 2x energy
weapons by forging with the appropriate spell known. In my opinion this
plus the ability to apply all 3 cult oprops to the same item adds up to
being able to make any half-way decent base weapon type USEABLE in the
endgame. My experience is that they're not the best thing I've ever used
but they also aren't totally crippling.
The quest is designed to be done ASAP, at around 14th level. The quest
home level is generally a good home base, especially after you have
permision to enter the quest. There is a guaranteed general store on
the first filler level.
#offer or #research corpses on a philosophy altar to build research
points. It is heavy on werewolves so you need some means of dealing
with lycanthropy. How to do the research paths are explained
hopefully-fairly-well by the research progress self exam option
(Ctrl-X h). Very roughly, the lawful philosophy offers weapon
improvements, the neutral philosophy offers spellcasting improvements,
and the chaotic philosophy offers (crummy) defensive improvements to
everyone and (strong) offensive improvements to vampires only. You can
advance multiple paths with the aid of wishes but only your starting
path otherwise (even if you change alignments).
Full scoring ascension requires piercing the veil, completing a
quest-related step, and purchasing 6 upgrades from one upgrade path
(the self-exam menu will refer to this as "a breakthrough in the
philosophy of X").
== Changelog ==
Quest revisions
-Quest counts as all-outside
-Quest home:
--Add a morgue to the quest home
--Add 20 blood bullets to the chest
--Add rolls for saw spear, chikage, and bow blade
--Add 5 crystal rods
--Fix altar pos
--Move lifeless doll inside and add statue
--Add locked doors.
-Locate:
--Add a chaos altar
-Nemesis
--Remove stake of withering (the BBEG drops it on death).
--Add a chikage
--Add a columnar chunk
--Convert fire traps to bear traps
-Filler A
--Add some random shops
--The first one will always be a general store (uh_shop_created), others will be nothing (33%) or a random shop type.
-Filler B
--Add a bunch of undead to the (now-Haunted) woods, including befouled wraiths
--Add ruined elf huts in the woods and graveyard inclusions
Quest trip 2
-Quest can be re-opened after initially being completed (qrecalled)
-The PC is re-contacted by the quest leader when revisiting the quest branch level at any time after UH Time 1 (28000 turns), or when branchporting into the quest
-Enemy spawns etc. evolve over time
--UH_QUEST_TIME_0: 16000 turns
---Monsters spawn in the upper filler levels if the index wolf hasn't been killed.
--UH_QUEST_TIME_1: 28000 turns
---PC re-called to the quest
---Peaceful NPCs outside the quest home level begin turning to werewolves
---Stake begins guttering
---Monsters spawn in the upper filler levels even if the index wolf has been killed
--UH_QUEST_TIME_2: 32000 turns
---Peaceful NPCs on the quest home also may turn to werewolves
---Peaceful NPCs on the quest locate level turn to werewolves
---By this point, the Withering Stake definitely fails
---Monsters spawn on the quest home.
--UH_QUEST_TIME_3: 38000 turns
---The quest leader may turn into the vicar wolf when approached
--UH_QUEST_TIME_4: 48000 turns
---The quest is "failed": All NPCs will turn to werewolves (or the vicar wolf) when next you vist the level. The moon moves close to the astral plane, making a full-scoring uh ascension possible without killing the Moon's Chosen.
UH Role changes
-The moon being close (quest "failed" or completed) also lowers san regen to -10
Research basics:
-Slotless upgrades tracked via W_UPGRADE
-Ascension gated by moon_close in quest data
-#offering on a research altar redirects to the dedicated #research function
-Dedicated thoughts
--UH get a free thought slot
--Defilement
---+1 HP per round when less than
---+3 AC and DR to pets, with both impurity and scorpion carapace upgrades combining with this to get extra bonuses based on your impurity score.
---Recover 10 HP when sneak attacking
--Lumen
---Carrycap +6.4%
---Increase death drops by 1/3
--Rotten Eyes
---+10 energy regen (+10 energy per 90 turns)
---+5% HP
---+10% XP gain
---+20% enemy item rates
Research upgrades
-Self exam menu (h - Research progress)
-Law (College/Reanimation)
--Tracks dissection and reanimation counts.
--Reanimation research
---#research (disect) monsters on "altars", apply a portable electrode to access upgrade menu.
---Alternatively, reanimate monster corpses with portable electrodes to gain research
---Upgrades also require 10 insight per upgrade, capped at 60
--Reanimation upgrades
---Shock res
---Water res
---Clairvoyance
---Blood clone: GNDN at the moment :(
---Antenna weapons: Add int bonus vs. non-sock res targets
---Errant thoughts via antennae: Deals bonus damage to telepathic monsters (1d15 + spe)
---Bolt damage via antennae: Deals bonus shock damage, 2x vs telepathic monsters, 1d10+spe
---Push away via antennae: Knockback attack 1 square behind primary target.
---Lightsources grant phasing
----One turn of intrinsic passes_walls granted while holding a lit consumable lightsource.
-----Permanent light sources don't work for this. Look! A wizard!
-Neutral (parasite choir)
--Parasitoloty research
---#research (disect) monsters on "altars", apply a treph kit with a parasite in inventory to access the upgrade menu.
---Parasites are also sometimes left by rotting corpses of eligible monsters, if the monster *wasn't* disected.
---Upgrades require only disections and parasites (gained through disections), but only intelligent monsters give much research when disected.
--Upgrades
---Brainsuckers: 1 d2 int draining tentacle per parasite
---Ray and beam spell multicast: 1st parasite is 50% chance of a doublecast, 2nd is 100%, 3rd is 33% chance of a triple cast
---Explosion spell extra blasts: For multi-explosion spells: +1 explosion per parasite. For single explosion spells as above
---Jellyfish tentacle auto-attacks
----up to 2 targets per parasite
----up to 1 roll vs. all adjacent plus 1 per 3 parasites.
----Damage is 1 per parasite
---Extra effective charm spells, +1 skill per parasite, +1 charm monster cast per 3 parasites
--- -5% spell failure per upgrade, -5% again per charm upgrade on charm spells
-Chaos (blood research, two paths)
--Defilement research
---#research (disect) monsters with blood on altars. Upgrades also requires impurity, 5 points per vampire upgrade and 2 points per preservation (capped at 30 required). Apply a phlebotomy kit to access upgrade menu.
--Preservation upgrades (standard, taken in order)
---Reduced hunger: Halves hunger rate (hungermod x 2), halves hunger cost from spells (round up)
---No stat abuse
---Nat DR: +3 all slots (rms stack with armor)
---Cold res
---Sleep res
---Nat DR up: +3 (more) all slots (rms stack with armor)
---Dead truce: mindless undead typically spawn peaceful
--Vampire upgrades (Vampires only, picked from menu)
---Thralls
----Vampire tameness set to 100 every turn
----Vampire pets count as 1/2 pet for pet cap purposes (round down)
----Vampire pets can't betray
----Vampire steeds don't lose tameness
---Mastery
----Vampire pet follow distance up by one.
----Vampire pet xp_threshold up by 5
----Vampire pet AC up by 1d5,
----Vampire pet +5 to-hit and damage
---Blood rip: Vampire attacks and blood silver weapons (blood bullets etc.) are "vorpal" (10% chance of +400 damage or 30% of target's max hp, whichever is MORE)
---Blood spikes: Blood bullets replaced by blood spears, which do more damage and don't auto-vanish when fired.
---Gaze: 1d4 paralysis gaze. May be bugged.
-All upgrades cause "brain damage": -1 int and wis, plus permanent 1 point penalty per 3 upgrades. Preservation and parasite upgrades also reduce your max scores by 1 point for 3 and 2 points for 6 (each, so -4 max)
Astral and Ascension:
-Failed ascensions
--Traveling to the astral while the moon isn't close (veiled or incomplete quest) results in astral having the wrong altars (wizard pantheon) and only escapes in celestial disgrace are possible.
--Attempting to enter the astral plane while the moon is close but you haven't completed an active research path or changed to worship an actual god results in the PC being diverted "high into the air", resulting either in death or escape from the dungeon.
---(The PC would not be able to ascend (or escape) at any high altar, so the game is in an unwinable state)
--Attempting to go up the upstairs as a Demigod (with or without amulet) in a state that would be unable to ascend warns the player with new "Still climb?" messages.
--Drinking gain level will fail to lift the PC if they wouldn't get a full-scoring ascension (philosophy god plus veil in place, incomplete research, or moon not close).
-Astral: ariving on astral while moon_close (required to win) subs out many enemies
--Randomly placed at start: 3 moon entity tongues, 3 eye clusters, 6 manipalps, 6 mist wolves, 9 moon fleas.
--Unaligned angels in des become foetid angels, other angels become aether wolves.
--Makemon subouts: Angels for Aether wolves (90%) and Foetid angels (10%)
--High priests become high priest wolves when entering the shrines. All other des file monsters become tongue puppets
--A philosophy worshiper doesn't get an angel companion
--Random non-unique animals and mortals are tongue-puppet templates.
-#researching the amulet of yendor at a high altar lets you win.
--Must have purchased 6 upgades of the matching research path.
--Must have matching insight thought "equipped"
--Trying to ascend at an altar without meeting the requirements causes the moon to eat your head (burning a life saving or killing you)
-Nonstandard titles via title_override
Impurity
-Add goo_transcendence (6 bits)
--First 2 points (4 pips) are automatic, after that it's !rn2(pips/2).
--Adds a point of impurity at 1, 4, 8, 16, 32, and 63 pips
--Some sources are a guaranteed pip
---Guaranteed: Nyarly's on-death greater masks.
---Rolled: Lurking hands spawn, cold night double proc, overlord double proc, cthulhu dreams while not sleep res, cthulhu's corpse revives, suzerain flaying arrow rain, yellow dead spell, incarcerate spell, black flower songs, lurking hand levelport
-Add betrayal (4 bits/standard)
--Killing a feral pet
--Being attacked by a befouled wraith, a feral pet, or a traitorous pet
Smithing
-Can safely dip any fireproof item (metal, ceramic, fooproofed, etc).
--Cannot upgrade non-metal items
--Blood-smithers (undead hunters, currently) CAN use upgrade materials on non-metal items.
-Dip columnar crystals for the option to break them into smaller crystals.
--Allows converting twin crystals to singles (which are suprisingly hard to find)
-Blood smithed items resist drains etc. as artifacts/lightsabers.
-High-powered insight weapons get lesser oprops rather than full-power ones
-Add the ability to extract smithed oprops into a crystal, add ability to apply oprops via crystals
--Allows you to swap out energy uprages etc.
Attack types
-Drain HP: -5 bonus HP per hit
-Push: Pushes targets away (same rules as Pull, just 180o difference)
-Lick: Variable attack type attack
--Glue to the ground in a TT_SALIVA fake-trap (Similar to beartraps in effect) for 1d12 turns. Monsters are paralyzed instead
--Pull (if not adjacent), falls through to ecold if adjacent.
--Elemental cold: 10d8 damage
--Acid: 10d8 damage
Oprops
-Antenna
Weapons
-Bow blade/Bladed bow
--Bow is multi-ended, 1d8 each end
-Saw spear/long saw
--Serrated (both forms)
-Blood spear: 4d4+5/2d10+5
--Can be poisoned (unlike other bullets)
Stake of Withering
-Withering stake extrinsic
-Initially scares off Animals, demihumans, and werewolves that don't resist fire
-Eventually fails and may flip polarity to agravating them instead.
-Faintly-burning/faintly-guttering: Scares beasts as noted and adds +1d10 fire to all attacks (only when the quest is formally completed)
-Charred: Stake has failed, veil is intact
-Budding: Stake has failed, veil is broken
-Blooming: Moon is close. Stake grants extra XP and a small amount of silver damage (+1d2) and fire damage (+1)
-Fire damage bonus doubled vs. naturally cold resistant targets.
Portable electrode:
-Apply to raise corpses of monsters with skeletons as spark skeletons.
-Can distract enemies for you.
-Also grants reainimation research
-Old corpses will be hostile
-The monster is converted into a summon and vanishes when the timer is over
-Costs 3 energy per point of monster difficulty, plus 3.
Templates:
-Spark Skeleton
--Skeleton traits
--Refered to as "reanimated" when summoned and destroyed rather than banished.
--Aditional electric touch attack
-Tongue Puppet
--Float in the air, rip webs, bust doors, Mindless, hostile, stalkers. Do not hide or collect items, Not resistant to slashing attacks. Infravisible, insight-granting, sanity-taxing
--Great old one (Moon entity), animal, alien
--High MR (90), boosted AC and DR, 8 points of magic DR and 12 of AC. Resists poison, stone, cold, and magic. 15 move
--Aditional tongue attack, which does different things based on the m_id of the monster.
---Force target to attack allies
---Pain
---Elemental cold
---Acid
---Blood draining tongue
---Int drain
--knockback when hit (same as khaamun tannin)
Monsters
-Mist wolf/Mist cloud
--High level scaling. Show up from the uh quest to endgame
--"Werewolves": Mist wolf bites confer werewolf-lycanthropy
--Can't turn into mist clouds while the veil is intact.
--Prot from Shape Changers locks them to cloud form.
-Befouled wraith
--Spawn elf zombies while behind the veil when at least 10 squares away
--Reduce luck while sharing your square (You feel someone step on your grave!)
--May reduce bonus HP while sharing your square (You feel like you've been stabbed!)
--Bonus-HP draining melee attacks when visible (-5 bonus HP per hit)
--Your attacks pass through befouled wraiths (as shades etc) unless you have >24 impurity, <50 sanity, or <= 0 hp bonus.
-Index wolf
--One eye (-2 to-hit)
--Heals instead of changing form
--Body always leaves a columnar chunk when it rots
--Killing the index wolf locks the moon into the full moon phase (If the PC noticies (Wis > 14), prints a message and grants a point of insight (iff the veil is pierced))
--The index wolf death-drops the stake of withering and a portable electrode.
-Vicar wolf
--Heals instead of changing form
--Cure close, mon protection, paralyze, Nightmare, cure self
-High priest wolf
--Heals instead of changing form
--High priest caster
-Moon's Chosen
--"Snake bite" (wolf bite) 1-3 auto-attacks vs all adjacent
--Gigantic head
--Long reach attacks do double damage in melee (~6d4 each).
--Mist wolf spell, mass cure close, mass cure far, mon protection, paralyze, nightmare, nail to the sky (note: there is a sink on the quest home)
--While it's alive, an insight event spawns mist wolves around the pc (You are surrounded by howling wind!)
--Killing the Moon's Chosen
---applies a +12 penalty to AC, -12 total penalty to DR (8 head, 2 upper torso, 1 lower torso, 1 arms). The Moon wants to eat you.
---locks the moon into the new hunting moon phase (printing a special message)
---flips the stake into agravating werewolves
---Grants the PC bonus damage with insight weapons (as madman/ose binders)
-Aether wolf/aether cyclone
--"Werewolf-angels": Aether wolf bites confer werewolf-lycanthropy
--Still shoot holy missiles
--Aether cyclonse just have a physical damage engulf
-Foetid angel
--Headless-ghoul angels
--Disease and Paralizing claw attacks and holy-unholy misiles
--Mind blast that inflicts doubt on targets
-Moon Flea
--Vampire quadrupeds with a long reach blood suck and a blood-spray wetting attack.
-Moon-entity manipalp
--High-damage werewolf bite (werewolf lycanthropy), cold damage touch, and hug attack
-Moon-entity tongue
--High-damage lick attack and digestion engulf
-Moon-entity eye-cluster
--High study gaze
Factions
-City faction: For non-guardian quest peacefuls. Hostile (50%) to Moon faction.
-Moon faction: For Quest hostiles and astral. No in-faction grudges (standard nemesis faction). Hostile to city faction.
Hunting Moon:
-Counts as full moon for most purposes
-8th phase of the moon added
-+2 luck vs. +1 for full moon
-Moon axe phase: 33% weight, 2d9 v. large, 2d12 v. small
-Howlers howl in the day or night.
-Werewolves have a 50% chance to change form at all times (up from 33% at night 10% during the day)
-Moon blade spiritual rapiers deal +2 dice of size at least 12.
Refactors
-mortal_race macro to moral_race(mon) and mortal_race_data(ptr)
-bash_kill_mon for
-sflm_active(otmp) now separate from sflm_able()
-add an obj_is_material accessor function that replaces direct checks of obj_material
--Currently has no added functionality.
-rndmonst() now takes an x, y coordinate (currently used to make undead spawn in the uh quest home graveyard.
-mbodypart refactored to allow pointers-only instead of requiring a monster. Used in disection messages.
-add a known_glyph function to check if a thought is equipped, regardless of whether or not it is active. Used for research code.
-Refactor non-weapon weapon skill code (bladed items etc) to reduce repitition.
-Refactor xhity skill damage variable so that it is still available outside the skill damage code (planned feature)
Tweaks
-Hemargyos weapons now keep silver flame props
-Remove all non-artifact +10 weapons
--Replaced by blood-smithing
-Blood transfusion heals 40% HP instead
-Death drop up thoughts also improve columnar crystal drop rates from corpses (including new lumen thought)
-When find familiar is cast, lawful UH get a floating eye, neutral get a parasitic mind flayer, and defilement get a centipede
-Vampire PC undead pet follow distance up by 1, vampire pet follow distance up by additional 1
-Crystal skull monsters follow at any distance
-grave placement allows soil and grass as well
-Angels and minions use wizard gods
-Non-quest non-endgame altars spawn with the apropriate tools on them.
-And uh to the lists of crystal skull monsters and prisoners.
-sentinelclearings are high-priority inclusions (less likely to get blocked by other inclusions)
-Undead hunter graveyards don't have burried loot.
-Some powerful insight monsters/GOO drop a columnar mass on death (blasphemous lurker, baalphegor, asmo, pale night, good neighbor, hmnyw, moon's chosen)
-Undead hunter playermons get trick weapons and lousy armor
-Playermonsters in the uh quest home are kludged to just get straitjackets (done by coordiante)
-Handle non-converting gods like philosophies and cult gods when attempting to convert altars.
-Cult oprops applied to nested weapons like the church hammer affect both forms.
-Undead hunters don't have alignment requirements to go on the quest (their friendlies are mad scientist doctors and they don't have gods watching over their shoulders).
-Undead hunters start with basic smithing as their max. Using a twin shard improves the max to basic. Using a chunk or mass improves the max to expert.
--The optimal strategy before was to camp in minetown until you reached expert
-Undead hunters get bonus damage with insight weapons like Madmen and Ose binders, AFTER killing the Moon's Chosen
-Gremlin intrinsic theft attacks raise impurity (theft)
-Death's touch raises impurity (death)
-Pestilence's touch raises impurity (illness)
-Famine's touch raises impurity (disaster)
-Evelyn's deal precision damage when you have more than 18 dex.
-Undead hunters deal 1dlevel bonus damage when shooting undead and werewolves
-Your Blade of Blood attacks deal bonus impurity damage (imp/2). Mostly affects rakuyo and chikage I believe.
Bugfixes
-Soldier's sabers are now melee launchers
-The end of the world does not respect life saving (Binder astral bugfix)
-Fix too-low material probabilities in churchhammer brick probs.
-Fix bad function name in rand_interesting_obj_material impossible
-Some objects (moon axes, nested weapons) always need extra initialization steps, even if noinit is set.
-Phlebotomy kits get 1-5 charges when created.
-Phelb kits can be charged
-Attacks that can't be used due to insight levels don't factor into ranged calculations etc.
-Change shopkeeper smithing rules so that "minor" insight weapons aren't caught up in the insight weapon ban.
Spoiler summary:
1) The Quest is meant to be done twice, once towards the beginning of the
game and once in the late game. There is a second quest "nemesis"
(the Moon's Chosen) hidden by the veil on the nemesis level, and
undead-spawning wraiths behind the veil in the lower filler levels.
The SLASH'EM-lifted mist wolves also have a cloud form supressed by
the veil. The quest friendlies will also turn to werewolves if you
take too long about it. I consider this "spoilable" because the timers
here are long enough that it's relatively easy to speedrun once you know
the twist. The Moon's Chosen should be respected, however, as it has a lot
of HP and can do an old-fashioned summon-storm by summoning werewolves that
summon werewolves.
2) The UH Astral is dominated by the Moon Entity (which owes far more to
Remina than to Bloodborne, but then Bloodborne also owes a lot to Junji
Ito). The moon draws progressively closer to the PC as they kill the
quest nemeses, and draws close to the Astral plane if the PC kills the
Moon's Chosen OR if the quest fully times out. The quest is therefore not
actually required to ascend an undead hunter. I consider this "spoilable"
because Weird Insight Stuff is weirder if you DON'T know the exact
mechanics.
__Cannibalism__
No longer overrides the cannibalism and same-race sac warnings.
-Shifts same-race sac warning to BEFORE you might summon a demon.
Instead gives bonus damage on bite attacks vs. non-vegi or same-race targets.
Still causes vomitting when eating non-vegi foods.
This makes it a bit closer to Baphomet's madness (which gives bonus damage at the price of reduced AC).
Required refactoring str bonus calcs into their own functions, and the creation of is_bite_macros
Bite attacks use mad_turn handling, eating rolls for it. Mad turn cannibalism is exempted from clear thoughts.
-Bite attacks include primary bites, long necked bites, "other head" bites, and wolf head bites.
__Ose__
Tentacle attacks recieve bonus insight damage and cha modifier.
-Tentacle attacks are both tentacles and mist wisp attacks
Creates a radius-5 magenta ink cloud centered on the user, which:
-Costs 15pw
-Blinds non-eyeless non-octopode monsters within for 8 turns (or while
they remain inside).
-Blocks monsters within from using scent.
-Has a 1/20 chance of recolouring each worn armour item of
non-waterproof non-octopode monsters within to magenta each turn.
Shirts cannot be affected under body armour or a cloak, and body
armour cannot be affected under a cloak.
-Has all of the same effects vs the PC, but since octopodes are immune
to them (and don't have scent), this doesn't really matter.
It's magenta because a black cloud would look identical to corridors,
a blue cloud would look identical to air (and corridors without
use_darkgray), and a brown cloud would look weird.
Also:
-Change octopodes from HI_DOMESTIC (white) to HI_MAGENTA (magenta).
-Give monster octopodes stealth and waterproofing.
-Remove MB_THICK_HIDE from octopodes.
-Allow octopodes to wear living armor (giant sea anemone) (suggested
by riker).
refactors #style code to better handle generic "fighting forms" not just lightsaber vs. breaking out early for mystic forms vs. whatever
now, it handles mystic, lightsaber, passive toggle, and has handling for an as-of-yet non-existent knight forms. further categories of forms WILL need to have handling added, but it should be pretty simple - some function doFooForm() that handles the window code or whatever, and the criteria under which to have that as a list option / the code for adding it as a list option to the #style menu itself
also removes the inability to use #style ls forms if you're not wielding a lightsaber. now you can do it if wielding, uswapwielding, and if you have trained any lightsaber skills before. this DOES remove the check for weapon skill since its not always true, so better messaging for that could be nice, but it shouldn't be a huge deal - since you still have to be wielding a saber, and it'll tell you if you're unskilled in shii-cho or something. dunno. open to suggestions for improvements here
shitty knight form defines are based on the ones in the etherpad with absolutely no handling for any of them to do anything, just what's needed to set/check them without impossibles. there is no way to get those skills so they never show up and shouldn't matter
also refactors form setting/checking code slightly. now, each batch of 32 forms is mutually exclusive - so FFORMs 0-31, 32-63, etc. this is so that you can have both a lightsaber AND a knight form active, but not two ls or two knight forms active. this cannot be extended to monk forms since they can all be individually toggled.
passive avoidance code uses the new u.uavoid_passives to determine if you're a coward or not, and refactors my previosu stuff into the new non_contact_attk(attk) macro. its only available in #style if your current attack routine (NOT by the book, so including star emp ring or black web or something) includes a non_contact_attk(attk) to prevent it from confusing people when not relevant. however, if you're currently avoiding unsafe attacks, you can always turn that off - so that if you take off the ring or unbind web or something you're not stuck making no attacks forever or until you regain the ability to turn it off
commit efef78be8af879d37a73949ee49c6019f0feba9a
Author: chris <ohmygod.stopitwiththis.com>
Date: Sun Aug 27 16:08:44 2023 -0400
YogSothoth twincast: Adjust make web monster spell to barf bolt
Web is really annoying
commit e504c955ca771b5932933b1b077441b05849ad7a
Author: chris <ohmygod.stopitwiththis.com>
Date: Sun Aug 27 13:02:43 2023 -0400
Wizcult debug command
Join any cult, manipulate cult mutagen, favor, and devotion levels.
commit 4bab4cf7fe3fa2a5891df15983837f234fa0fee9
Author: chris <ohmygod.stopitwiththis.com>
Date: Sun Aug 27 12:33:56 2023 -0400
Bugfix: Illumination of Shub gave no benefit
Failed to use the modified en bonus.
commit ac56c820d3b00d33437f87d5deafd8719f63950c
Author: chris <ohmygod.stopitwiththis.com>
Date: Sun Aug 27 12:32:25 2023 -0400
Improve "make weaker"/bubbling yog-sothoth weapon effect
Now drains 2d6 hp (leaving at least 1 current HP)
Rolls resistance vs artifact weapons, draining a like amount of hp bonus (vs. PC) or maxHP/levels (vs. monsters) on a fail.
This makes it non-pointless vs. the vast majority of targets.
commit e6c258aa4d37a8af23a844a5d1f93e8d2b569eea
Author: ChrisANG <you@example.com>
Date: Fri Aug 18 15:30:43 2023 -0400
Tweak: Dark young can talk
They can in lore, and not being able to talk is pretty bad in a permanent form.
commit cfdd304dd0943f66e3fd2818a6259e4a4869da75
Author: chris <ohmygod.stopitwiththis.com>
Date: Sun Jul 30 01:20:40 2023 -0400
Yog-Sothoth Cult and cult revisions
Madmen now gain cult value at 70% the normal rate (which makes it easier for them to get multiple major boons/fully exploit cults as a Bokrug madman).
Cult mutations general handling
-Unified list+basic utility macros in mutations.c and mutations.h
-All cults track mutagen consumed and mutations granted.
--Only Shubbie and Yog actually use these counters currently.
-Mutations have a body part associated with them. This is not currently used.
Yog-Sothoth (based heavily on Through the Gates of the Silver Key and The Dunwich Horror, and also Elden Ring)
-Binder spirit
--Binding duration will not count down while you have the silver key in inventory
--Causes you to passively attack adjacent targets with blood-sucking tentacles for 3d3 damage
--Monsters with a keen sense of smell typically spawn hostile, and always know your position (As a foulness shall ye know Them)
--Ritual: The seal must be drawn on a square with a portal, teleport trap, or levelport trap, OR you must have the silver key in open inventory.
--Skill: Firearms (time travel)
--Passive: Protection from shape changers, bloodsense
--Actives:
---Burst of Madness: Fire a ray of magenta fire in the chosen direction. This ray can be reflected but does not bounce off walls. The ray deals fire and magic damage, and exposes the target to your madnesses (sharing your madnesses gains cult credit).
---Unendurable Madness: Causes multiple magenta fire explosions in the chosen direction. These explosions repeatedly expose targets to your madnesses. These explosions require both fire and magic res to resist the damage.
---Contact Yog-Sothoth: Gain a boon or major boon from Yog if your cult credit is good.
--Mark: the tentacles, strange feet, possibly flaming eyes if those mutations are chosen.
---Requires clothing, boots, and sufficient eyewear.
--Taboo: destroying a trap (levelport, teleport, magic, or polymorph) with a wand of cancellation.
-Boons
--Yog-Sothoth weapon oprop (major)
--Lesser magic oprop (major)
--Create twin sibling monster (major)
--Mutate (mutagen)
--Escape from curses(minor): Teleport cursed items to floor
--Return of memory (minor): +10% memory for all spells
--Continued companionship (minor): +20% (1000 moves) for all binding durations
--Return of your twin (minor): Summons the twin sibling, retreving it from another level and/or restoring it from "death"
--Primordial waters: technically a potion type, mostly granted as a boon effect. Acid damage fixes petrification, increases energy. Builds Yog-Sothoth mutagen.
-Weapon oprop
--As with shubbie's oprop, changes effects. Unlike shubbies oprop, "ticks" at a rate of 1/100 turns.
--Teleport theft (starry): Teleports one piece of armor off the target's body, or deals +1x damage if they aren't wearing armor.
---Random-teleport-obj code is refactored to avoid placing the object at your feet before relocating it.
--Vampiric (grasping): Drains the target's blood, healing you, giving sothoth credit, and possibly draining levels from the target.
--Flame and fear (groaning): +1d6 damage, +1d6 additional if non-fire-immune, inflicts fear/panic on the target
--Depower (bubbling): Polymorphs the target into their least-mature form, if they fail a resist check.
--Dessicate (auroral): +1x vs. watery monsters, +0x vs. nonliving or anhydrous monsters, +.5x otherwise, healing wielder, grants sothoth credit.
--Stench (stinking): +1d6 vs. non-breathless non-poison-immune targets. Targets that eat may vomit, losing turns (if you are hit you become vomiting, which is a very dangerous situation!)
--Magic (cerulean): +4d6+spe magic damage (min +1)
--Mad fire (magenta-burning): Exposes the target to your madnesses if you *fail* a generic unblockable madness check, deals +2d6 damage to non-fire-res targets AND +4d4+spe damage to non-magic-res targets if they are exposed.
-Mutations:
--The total amount of mutagen requried for each new mutation grows quadratically ((m+2)^2, where m is the number of mutations granted so far)
--Gaze 1: Enables the first mad fire active ability (burst of madness). The twin also gains a version of this spell, if it has spellcasting.
--Gaze 2: Can only be chosen after gaze 1. Enables the second mad fire active spirit ability (unendurable madness). Increases the chance of the Twin casting its madness-fire ray spell.
--Twin mind: While Yog is bound, you make passive monster spellcasting attacks with range 2 if you don't make a tentacle attack. Also gives the twin spellcasting.
--Twin dreams: While Yog is bound, grants a mind blast or boosts existing mind blast (+(lev+7)/14 dice, two rolls to hit (twin dice only apply if the first roll hits)).
--Twin lifesave: While Yog is bound and the twin sibling is visible, Lifesaves the PC at the expense of the pet twin (The twin can be revivied as a minor boon, but the mutation will need to be re-applied).
-Hyperborean dial
--This puzzle/tool teaches the PC the Yog Sothoth seal when completed.
--The puzzel can only be completed while asleep (though extra puzzles can be completed up to the current limit by applying them)
--Applying a puzzle that is at the current limit reminds the player that the PC solved it while asleep.
-Outlands inclusion: Sentenel Clearing
--A ring of "standing stones" (boulders in rock squares) and some leveled-up shaman/cleric monsters of the yog-sothoth faction.
--Has a special levelport trap in the center of the ring. Being affected by this trap (meaning *not* magic resistant!) teaches the PC the Yog-Sothoth seal.
-Invoking the Silver Key while standing on a Yog-Sothoth altar (such as those found in R'lyeh) teaches the Yog-Sothoth seal.
--This sets the artifact invoke timer.
-Twin Sibling
--2d6 vampire, d12 phys, d6 spells, phys scaling, clings to ceiling.
--Attacks adjacent monsters with passive blood-sucking tentacles
--Imune to polymorph
--Vanishes while Yog-Sothoth binder spirit is not bound.
--While not on level, has a 1/6th chance to move one level closer or farther from you, and a 1/66th chance to move between dungeons to follow you.
---This behavior can be suppressed by instructing it to "wait"
--Does not actually die when killed, but does vanish until you re-summon it as a minor boon.
--Gains spellcasting if you have the "Twin Mind" mutation
--Gains no cooldown casting if you have the Shubbie Radiance mutation
--Gains mind blasts if you have the Yog-Sothoth Twin Dreams mutation
--If lower level than you, gains a HP from every kill, rapidly leveling up as a result.
Shub Nugganoth revisions
-Add a semi-dedicated "itinerant priestess" creature to replace the generic shubbie priestess in the Madman quest
--Weapon, offhand weapon, holy touch after insight 40, d6 clerical spellcasting, 4d4 magm retalitory attack, naturally magic-immune, can reach level 30. An alien from the universe next-door.
--Is a "monk" as well as a "priest"
--Gets the two Shubbie priestess spells
--Can heal as a touch after 40 insight, and has a built-in unicorn horn
--Can sing to back up the PC (showing off the adjusted messages for mistweaver monsters generally)
-Add mutations. Mutations are minor boons. The first mutation requires 3 goat's milk potions to have been drunk, each subsequent mutation requires one more potion than the previous (so 4 more/7 total, then 5 more/12 total, etc.)
--Abohorrent spore: Slotless lifesaving that converts the PC into a permapoly'd dark young. This uses up the spore, though the PC can re-purchase the mutation.
--Crawling Flesh
---Improves healing. 1/3rd chance of healling 1 HP as a result of a "failed" flat madness role.
---When below 1/2 HP, may suddenly heal +1/2 HP as a result of a successful insight check. This costs 40 to 100 nutrition and drives nearby monsters insane and/or causes them to puke and become immoble for 4 turns and flee for 44 turns.
---Also causes the Yog-Sothoth Twin to heal +1 HP per turn.
--Tendril hair
---Prevents item theft attacks.
---Gives bonus to resist seduction attacks.
--Mindstealing tongue
---Adds an extra attack that causes the struck target to attack an ally
---If the yog-sothoth twin pet can cast spells, this enables a crush bolt spell.
--Radiance
---Reduces your HP bonus by your Insanity, increases your energy bonus by Insanity.
---Since the HP bonus adjustment happens before diminishing returns is calculated, this can be a good deal if you have drunk lots of full healing.
--Shifting mind
---"Un allocates" all skill points, allowing respecing. This mutation isn't gained, and can be re-selected later.
--Claws
---If the yog-sothoth twin can cast spells, this enables a spacewarp spell.
Silver Flame revisions
-Curse proof glaze revised to be body armor only, 100%
-Wrath gloves: Increases damage bonus by 50%.
-Share burdens footwear: +200 (or 20%) carry cap.
-Preserve life helms: Your helm provides life saving when worn. The property is removed when the effect triggers; the helm is not destroyed. The helm will be eligible to have the property re-added as a later major boon.
Ibite Arm revisions
-Add upgrades, favor, and a boon counter.
--The Arm can be upgraded via #invoke (uses invoke timer)
--These upgrades don't increment other boon/wish counters, so the Arm stacks with other cults very effectively
-Favor:
--Gains favor when killing human mercenaries, nobility, or priests
--Deals +1d10 damage vs. all humans (human-bane, effectively)
-Upgrades:
--Wave: The hand portion (not the elbow/primary attack) deals +6d6 water damage instead of +2d4
--Revoke: The hand portion takes the targets inventory and drops it on your square. The target rolls resistance *after* each item is taken, ending the effect on a success.
--Destroy: Deals +1x damage vs. unalive targets. The hand portion digs out squares.
--Teleport: The Arm can be used to teleport via #invoke (uses invoke timer)
--Levelport: The Arm can be used to levelport via #invoke (uses invoke timer)
--Branchport: The Arm can be used to branchport via #invoke (uses invoke timer)
---Branchport code is re-factored to avoid copypasta.
--Reflect: The Arm grants Reflection when wielded, AND can have Silver Flame oprops applied.
-Influenced by some other effects
--Shubbies clawed hand mutation confers claws to the arm as well
Quest revision
-Bergonic chair
--Starts with 3d3 charges.
--Sitting consumes a charge, shocks you, and may
---Give a point of int (or other mental stat, 33%)
---Drain a point of wis (or other mental stat, 33%)
---Give 500-599 turns of clairvoyance.
---Do enlightenment
---Grant knowledge of your pack contents (0(all)-4 items) plus 2-7 random objects.
---Aggravate monsters
---Deal fire damage as well
---Enchant helmet by +1 (to a max of +5)
---Inflict nightmares (hallu plus confusion) and sleep for 200-399 turns.
-Side area on observation level: currently contains a room with a hyperborean dial, a bed, a bergonic chair, and a writing desk with some sleeping potions. Overall should be a pretty big hint about how to use the dial, though you probably don't want to do it in the quest. The lower regions of the quest also contain bedrolls.
Bugfixs:
-Shuby should give *subsequent* holy symbols with 1/4 probability, not the first (which still depends on gifts?)
-Centaur chieftains in the lost cities are goat monsters.
-"straitjacketed_mon" now includes shackled arms
-Fixed a bug in the code that doubles cold explosion damage for fire-resistant monsters.
-Cha casters (Psions) can also spellcast through helms of telepathy
-A_NONE PCs are also burned by holy water
-A_NONE PCs also get alignment from foocubi
-Monsters with ONLY telepathic vision are always affected by PC mind blasts (similar to how a blind PC is affected).
Add Carcosan courtiers
-Nymphs
-Carry Carcosan stings
-Have gold/yellow noble's equipment
-No eyes or mouths (or faces generally)
-Can't use shields (maybe secretly one-armed)
-Secretly have tentacles
--Gain tentacle attacks with high insight
--Special-cased to gain 1 die of damage per 5 insight, capping at 25 insight/"5 tentacles"
--A 5d5 wrap attack is also gained at 25 insight via the stat block
-Special-cased to gain natural AC and DR as insight increases (1/5 points, capping at 25 insight/5 total)
-50% of them flee when you're nearby (creating space for sting useage, based on m_id)
-For posterity: somewhat based on SCP-2264, somewhat on Spawn of Hastur, and somewhat on Pathfinder's Dominion of the Black
Add a black-star rapier attack for flaxen enemies
-Curses and deals percentile damage (allows resistance roll but not MR)
-Deal 5d5 bonus "unholy" damage to curse-hating targets
Add an upgrade to IEA armor that makes it light and gives +1 AC/DR
-Uses elven mithril coat
-Makes the base stats of the armor equal high elven armor
-Base category of the armor is now heavy
-Fix bugs that caused medium-ness to have priority over light-ness in calculations.
-Elves get a free skill up in broad sword and shield when opening chest
-Elves get their new god's anger molified when converting as a result of opening chest.
Tweaks
-The Suzerian doesn't have a mouth
-Flaxen starshadows use their star blades passively like Coure
-The Suzerian is unaffected by the yellow sign
-One more flaxen star shadow per "group", for 5 total
-Add 5 carcosan courtiers to spawn in Astral
-Add carcosan courtiers to minion list
-Add messages for IEA speed boots and flying armor
-The elf lord sword gains extra damage for mental stats
--Cha counts at 1/2
--Int and wis counts at 1/4 each
Bugfixes:
-Artifacts can't be consumed to upgrade IEA.
-Shopkeepers charge for and fix erroded2 while erodeproofing armor.
-Guard and ungarded set faction call (mon may have failed to be created)
Introduces the ability to have temporary byakhee larvae in armor, to go along with the permanent oprop version.
-add_byakhee_to_obj
-when byakhee larvae time out, a strange larva that will grow into a byakhee is spawned by the object or its holder. If the object is contained the larva becomes a husk in the item instead.
Byakhee: added a 25 insight egg/larvae-attack
-AD_BYAK damage type
--Adds a larva to a random worn armor (selected via some_armor).
--If no armor is selected, either creates a egg that will hatch into a byakhee (female byahee) or creates a byakhee strange larva (male byakhee). I guess byakhee are like seahorses!
Carcosan sting
-Insight weapon
-Acts as a dagger in melee
-When over 25 insight both it and the bolts it fires add byakhee larvae to the target's armor.
--The bolts' byakhee are added by the sting handling, since launchers apply their effects when ammo hits a target.
-Bolts deal 1d5 damage directly and 4d5 in a blast, so they are not as powerful as regular blasters.
-The stings can be recharged. Blessed charging sets charges to 50.
Starting pet: A knight NPC
-Starts with armor and an amulet of nullify magic.
Quest: vertical cavern area
-Three staircases: only one up and down stair per level is functional, the others are "blocked by rubble"
--A new variable is used to coordinate between levels
--I COULD have coded all three to be active, but I like the variability
-Stepping on an AIR square in the quest causes you to fall to the cavern floor.
--Currently, it is not possible to descend by flying. I'm torn between allowing this and handwaving why you can't do it.
--Damage is inflicted after you finish ariving at the new level, possibly killing the PC.
--Monsters instead have their HP set to 1
-Always at least 6 levels long.
-The random filler level will also have its own layout in games where it exists.
Quest enemies
-'Y' cult drow
-Duergar: dwarves that turn into giants
--Duergar dwarf helms are darklight sources
-Kuo toa: weak enemies that deal retalitory damage when dying
-Chuul: U that can steal magic items in a grapple.
Quest nemesis
-TSMI damage type (Tentacles Steal Magic Items)
-Blood rain spell: Curse and blood-dilute
-Steam geyser spell: Hot water
-Loses 1HP per turn if the quest artifact is reclaimed
-More powerful at high insight
Esscooahlipboourrr revisions
-Change to a double sword
--Flavor more than anything, but this does make it pretty good as a weapon. It kinda NEEDS to be a good weapon, though, since its main special effect is most noticeable when it's wielded.
-Flavored as the "actual" quest artifact fused together with a pair of long swords.
Spore infested monsters
-mspores monster madness (nightmare helm)
-Spore zombie template
-Cordyceps template
--Launches exploding spores
Duplicate des file '#' handling for objects for monsters.
-Passes the provided string to create_particular (the wiz genesis function)
Refactors:
-always one-handed macro: these monsters never need two hands to wield a weapon.
-boots size macro
-Move horns/etc checks into helm_match macro
-Helm size fits macro to handle hats etc.
-Create an is_hat macro
-Redefine readable armor: if it has a ward, it's readable.
-Add a Water_res xhity compliant macro
-set_obj_shape: function to set an objects shape, replacing and unifying a bunch of copypasta. Returns true if the objects shape changed, false otherwise.
-improve drow house allied-ness and use in mm_grudge
-size_and_shape_to_fit function to centralize that process
-Switch how sound type is handled in sounds.c to be a bit less confusing to read.
Tweaks:
-Everything can wear waistcloths
-Resizing armor now cancels if no change is made (preserving the upgrade kit).
-Lolth has an 8-arm alternat attack
-Jewel wish/des file keyword for making valuable gems
-Fix injury word descriptions of healing spells when the target starts and ends on the same word.
-Slightly nerf drow hp/magic recover rates.
-Tame witches summon tame familliars, and a witch+familliar counts as 1 pet, not 2.
-Suicidal monsters leave themselves open to sneak attacks.
Damage type is "corrupted holy energy," and is implemented as melee attacks, artifact damage, spell damage, and rays.
Unholy damage no longer blocked by apostasy
A liquid, tentacled snake monster.
-Long necked bite that inflicts severe poison.
--AD_SVPN: damages random physical attribute.
--Severe poison partially breaches poison resistance
--If not resistant to poison, 2x as likely to deal heavy con damage.
--Poison resistance halves attribute damage
-Tentacles that wet inventory.
-1d7 wrap damage.
--Does not require a body of water to start drowning you!
-5d8 crush damage.
-Can manipulate objects with its tentacles, but can't wear gloves.
Generalized concepts
-Severe poison:
--Uvuudaum headspike poison is also severe (but always does Con damage).
--Horrors can roll AD_SVPN
-No hands/no gloves division:
--Either prevents wearing gloves.
--No hands implies that the creature can't do fine manipulation of objects or change it's armor etc.
--No gloves implies that the creature's manipulatory appendage isn't hand-shaped.
--Mostly tentacled monsters are no-gloves
---Hound of tindalos
---Displacer beast
---Ancient nuperibo
---Dark young
---Yurian (crab claws)
---Keto
---Demogorgon (reptilian tentacle-claws)
---Watcher in the water and tentacle swarm
---Kraken
Surveyors/Scouts/Spies from an ancient civilization. The records of what they've seen are inscribed on red-gold disks they cary with them.
Aphanactonan monsters have auto-hit attacks that deal damage based on the level of the target.
To read the disk records, the PC must have pierced the veil
Aphanactonan audient
-A non-humanoid, hovering microphone (can't see)
-Explodes on death, similar to a gas spore but more powerful.
-1 - 8 insight to see
Aphanactonan record
-Reading this grants the PC knowledge of 2 to 8 item types
Aphanacton assessor
-Humanoid observer (can't hear)
-Has a primary study gaze, paralysis counter-gaze, and beholder gaze
-20 - 36 insight to see
Aphanactonan archive
-Reading this grants
--Knowledge of 4 to 16 item types
--4 draws for:
---1-4 random spells
---1-8 random seals
---2-8 random wards
---1-2 bonus to-hit, damage, and AC
---note: spells, seals, and wards have diminishing returns because duplicates are possible.
Each Paths of Law level has 0 to 4 assessors and 4 to 8 audients. This may not be balanced or desireable, especially as the Paths get more interesting.
1) I must have originally written all projectiles to pass through on MM_MISS, then changed it later (thus causing the issue of "hey Sansara doesn't work anymore"
2) Putting in a `continue` to skip to next projectile movement worked, but only if a reflected projectile had `range == initrange`, which is a problem with potential infinite loops.
3) The `continue` did NOT skip to next projectile movement. It skipped to "start the projectile loop again", which would avoid re-hitting because of another idiosyncracy where a projectile with `range == initrange` wouldn't try to hit the creature currently on the square (assumed to be the originator of the projectile), and only then get to the next "move the projectile by dx/dy".
The `MM_REFLECT` feels a little overkill (I don't like muddling up that particular set of #defines) but I dunno how better to return the info of "projectile was reflected", since checking `range==initrange` is it's own badness.
-only do passive attacks if the monster can move normally.
-Medusa: Her hair bites adjacent enemies up to 1d3x each for 1d6 plus poison.
-Ancient Nagas: Their canopy of cobra heads bite up to 5-7 adjacent enemies for 4d8 each.
-Adult dragons: Their tail slaps one adjacent enemy for 4d10 (2d8 for white dragons and 5d12 for red dragons)
Also makes a cosmetic change to Miska's bite attacks, so that they are described as being from your wolf heads.
Brighid: Fire and magma, pyroclastic vortex alt form
-AD_LAVA: milder form of stepping in lava, damage plus item destruction
--Can burn max-erroded armor up completely
Pyroclastic vortex
-Engluf attack recurses to physical, blinding sand, poison cloud, or fire effects
Related
-All demon lord errosion attacks can now destroy a max-erroded item
--Dispater: rust attack
--Zuggtmoy: rot attack
--Juiblex: corrode attack
-Useup functions now do a self-touch to catch c corpses
--Does not work for all destruction effects, may cause new bugs :(
Uiscerre: Water damage, waterspout alt form
-water blades don't bypass DR. 4x 4d8 water blades == you need lots of DR vs. these.
Waterspout: casts geyser and should retreat
Caillea: spellcasting and weapon, moonshadow alt form
-Skips weapon when able to cast (and skips casting when unable to)
-Casts raise dead, raised monsters have a faction that make them act like angels for grudge purposes
Moonshadow: insubstantial; silver moonlight blades are dependent on the moon's phase
-AD_MOON: rapiers of this type are subbed out for weapon attacks based on the moon's phase
Related: introduce a get-next-attack compatible function for checking if a monster has a given type of attack, and use it in mosst places
All three of these go into the pool for random high-caste eladrin.
-Oona's tower notes:
--Brighid: Fire resistance is very important and inventory fire res is recommended. Vulnerable to ice.
--Uiscerre: High DR is a must. Can be affected by all elemental wands. Water walking boots (from Vlad's?) are recommended.
--Caillea: A cursed item is needed to deal with the Moonshadow.
Elocator:
-Floats, displacement, two high-damage psionic spiritual rapiers, and psionic magic
-Cancelling makes them much easier.
-As they are humanoids, they are likely to be taken out by mind flayer genocides :(
Spiritual rapier improvements
-Create multiple variants of the AT_type to address what the attacker is doing with their hands.
-Spiritual rapiers convert to regular weapon attacks when the monster is cancelled, using the info introduced above
-Psionic spiritual rapiers pass through mindless targets
-Spiritual rapier damage is also reduced my half spell damage.
-Masked Queen gets a deva version of her starlight rapier, which can one shot most characters and vampires in particular.
--So, you know, don't wake up a statue of her.
Psionic improvements
-Psionic magic in general and psi bolt in particular both fail vs. mindless targets (the PC is never mindless)
-Standard die size increased to d15s (ouch)
Huge statue marilith
-6x slow stoning attacks: may start stoning timer on player (or one-shot monsters)
-Wrap
-Blood spray breath: damage, bonus damage to creatures with blood, inflicts insanity.
Also includes general handling for splash-type breaths.
Misc: Add comments and fix a macro mistake in other Ancient breaths.
Ancient of the Burning Wastes
-mhurtle(): Add a flag that will cause huge monsters to be thrown.
-Explosion effects are now compatible with Elemental damage types, monster exploding code simplified.
-Casts spacewarp: blades and spacewarp: throw
-Inhales water (or blood) and exhales heat and ruin (effects non heat resistant or nonliving targets)
--Exhalation relocates the ancient.
-Melee attack inflicts mummy rot (see below)
Mummy Improvements
-mummy_curses_x
--Called from the xp functions (xkilled and grow_up).
--Called from AT_NONE AD_MROT. Can also be used as a melee attack damage type AD_ROT.
--Bad luck: lower luck to minimum
--Curse equipment: curses ~1/4 of open inventory
--Pain: Halves current HP (doesn't kill)
--Insect bite: inflicts Sickness
--Mummy rot is a persistant stat damaging effect that can be cured in much the same way that WA contamination and morgul shards can.
--Heart attack: Instant death if < 100 HP, 10d8 otherwise.
--Remove protection: Halves intrinsic protection.
--Reduce maxHP: Halve max HP bonus or reduce by 25.
-Add soldier and priest mummies
-The Hmnyw pharaoh, regular pharaohs, soldier, and priest mummies have curses, generic mummies do not.
-grow_up() audit: grow_up() sometimes kills things, but was typically used in ways where that will cause problems.
-Spacewarp: throw: monster spell, flings target in a random direction
Insight Monsters
-The Hmnyw-pharaoh and the good neighbor still buff their followers when they're visible.
-Slightly tune down the rate at which Hwnyw revives Nitocris, so that the player can take steps to destroy her body more easily.
Breathe in intelligence, Breathe out a mind-shredding scream
-Int drain is mindflayer-like, can kill from brainlessness
-Mind-shredding scream is mandrake-like, auto kills target with less than 100 hp
--Deals d15 damage if the target has more.
Moves brainlessness handling into its own function.
Creates a jellyfish-sting/pain damage type, for use with jellyfish and ancients of thought.
Creates handling for water explosions.
Changes pain handling to use the new Screaming status ailment for the player, removing the danger of stunlocks.
Breathe in health/breathe out corruption
-In: fire and sickness, causes sickness in players and reduces monster HP
--Deadly damage causes the target to become a slime remnant
-Out: radius-8 explosion of acid slime. Monsters killed by this attack become green slimes, and the player is infected with slime.
Slime remnant: Template that removes most natural attacks in favor of acid slams
-re-factor template code slightly to only apply templates once
--Allows the template code to easily allocate new strings to hold the monster names, allowing more complicated renaming and removing the need for most on-the-fly name changes.
Create Slime_res function to unify clecking for green slime resistance.
Pulls targets closer via 5 5-square reach AD_PULL attacks
-Requried updating code in xhity that assumed that if a target moves the attacker should stop attacking.
Attacks adjacent targets with level-draining mindwipe attacks
-Drains levels unless the target is mindless (the player is never mindless)
-Tentacle mindwipe attacks can be blocked by MC
-Bite mindwipe attacks can't
Madness increases the rate at which spells are forgotten
-Double trigger drains 1d4 levels.
Jets away up to 5 squares after being attacked.
Has three ability draining stingers and a rend attack
-Stingers drain 1 point from str, dex, and cha, each in turn
-Rend drains 2 points from all scores
-Rend requires all 3 stingers to hit (previous result tracker updated as needed)
Madness: The rotting
-Periodically create poison clouds
-Lowers CHA
Strange larva can grow into any monster type, and may grow equipment as well.
-Shalosh hatch larva that turn into Vrocks, Hezrou, Nalfeshnees, or Mariliths
Add chitin material, for equipment
-Adjust current chitin artifacts to match.
-Also fix bestial claws being left off the monster wielding list.
Flesh hooks: bear trap-like traps that can also affect flying
-Created by Shalosh melee attacks
Host madness
-On mad turns dex drops to 3
-Double trigger causes PC to become vomitting (with a long timer) if not already vomitting.
Crowning is not implemented yet, and a lot of this could use re-organizing.
All three are living artifacts. Each has a 1/30th chance to take an action if equipped when there is at least 1 enemy within two squares. Invoking causes them to take an action.
Dragonhead shield:
-Roar, bite, or breathe fire
--Roar: stuns all adjacent (-12 move) and buffs wielder (-10 study)
--Bite: 5d8 damage to one adjacent (auto hit at the moment)
--Breathe fire: 10d10 fire, doesn't bounce, dragonbreath reflection only, 4 squares long.
Crucifix of the Mad King:
-Scream, bless, or create exploding orb
--Scream: 1 square knockback w/ -12 move to all adjacent
--Bless: -8 study and +8 encouragement to wielder
--Vexing orb: explodes after 4-7 turns, dealing 5d10 dark damage in a radius 2 explosion.
Ritual Ringed Spear
-Buff itself, heal you, or produce spheres
--Self buff: +1x fire (molten) or magic (gleaming) for 20-40 turns. While the buff is active the weapon cleaves in melee.
--heal you: +30% hp healing or +30% energy recovery
--Spheres: 5 dark damage pursuers or 1 flaming orb (emits flaming spheres for 4-7 turns)
Also separate out per-artifact u.foo variables into dedicated per-artifact avar variables.
Implement Candle Trees
-Plant type
-Humanoid torsos and heads
-Create swarms of flaming spheres to blow you up
Implement Switch Traps
-Monsters don't trigger them.
-Should difficult to impossible to destroy.
-Have case-specific effects.
--The only implemented case is oppening any artifact doors on a level for fem half dragon nobles.
Implement Painting Fragment entry method
-Invoke outside the quest to enter the quest.
-The quest departure portal will try to return you to the level you left from.
--I forsee no balance problems with this at all.
-Created instead of a portal when the branch placement function is called.
Implement magic breath/resistance for half dragons.
-Handling is complete but only female half dragon nobles can actually roll it.
Upper quest levels spawn wolves, candle trees, and dogs instead of normal monsters.
Male half dragons get human/vampire quest