*MAGIC MISSLE* If not in combat: "Too bad you just wasted a combat spell!" else Apply d6 damage directly to monster, no armor, shield, dodge. "You did";D;"points of damage" *CHARM* If not in combat: "Too bad you just wasted a combat spell!" else if monster is undead "You can't charm undead" go to monster attack phase else if monster is doppleganger "Doppleganger is magic resistant!!" go to monster attack phase else if 3d6*2 - charLevel + monsterLevel > INT + CHA "Your charm failed!" go to monster attack phase else "The ";M$;" is charmed, ";FNO$("kill","evade"); & Prompt to kill or evade evade always works. if kill if 3d6 - charLevel + monsterLevel <= CHA monster killed else "It broke your charm!" go to monster attack phase *SHIELD* Set shield counter to d10. *SLEEP* If not in combat: "Too bad you just wasted a combat spell!" else if monster is undead "Undead never sleep" go to monster attack phase else if monster is doppleganger "Doppleganger is magic resistant!!" go to monster attack phase else if 3d6 - charLevel + monsterLevel > INT "It won't sleep" go to monster attack phase else "The ";M$;" is sleeping, ";FNO$("kill","evade"); & Prompt to kill or evade evade always works if kill if 3d6 - charLevel + monsterLevel <= INT monster killed else "It woke up!" go to monster attack phase *PROT/EVIL* prot counter = d10 *LIGHT* light counter = d10 *PHANTASIMAL FORCES* If not in combat: "Too bad you just wasted a combat spell!" else if 3d6 + monsterLevel - characterLevel + 1 < INT "The ";M$;" believed...!" & monster killed else "The ";M$;" does not believe you" & go to monster attack phase *WEB* If not in combat: "Too bad you just wasted a combat spell!" else if 3d6*2 > INT + DEX "You missed the ";M$ & go to monster attack phase else "The ";M$;" is webbed, ";FNO$("kill","evade"); & Prompt to kill or evade evade and kill both always work *LIGHTNING BOLT* If not in combat: "Too bad you just wasted a combat spell!" else damage = d6 per character level if d10 - monsterLevel + characterLevel < 6 // saving throw damage /= 2, rounding up "ZZAAAPPPP!!!!!!!" & apply damage. *STRENGTH* strength counter = d10 *LEVITATE* levitate counter = 2d10 *INVISABILITY* [sic] invis counter = 2d10 *FIREBALL* If not in combat: "Too bad you just wasted a combat spell!" else damage = d10 per character level if( 10d1 - monsterLevel + characterLevel < 6 damage /= 2, rounding up. // Yes, that 10d1 is what is in the original code. I 'spect that's // a bug though and it's 'sposed to be 1d10 "The ";M$;" is burning" & apply damage *CONFUSE* If not in combat: "Too bad you just wasted a combat spell!" else if monster is doppleganger "Doppleganger is magic resistant!!" go to monster attack phase else if 3d6 > INT "Spell failed.." go to monster attack phase else damage = d(monsterHitDie) + monsterLevel "It gave itself";D;"damage points" & Apply damage *PASS-WALL* If in combat "Not in the middle of a battle dolt!" go to monster attack phase else "Direction ->" // prompt On invalid input "Surely you jest Sire..." If there is RCK in the chosen direction "Only stone there..." else move player "*POOF* ****  **  " *HOLD MONSTER* & If not in combat: "Too bad you just wasted a combat spell!" else if monster is doppleganger "Doppleganger is magic resistant!!" go to monster attack phase else if 3d6 - charLevel + monsterLevel > CHA "The ";M$;" breaks free.." go to monster attack phase else "The ";M$;" is held, press to kill"; & prompt monster dies *FEAR* fear counter = 3d20 *CONTINUAL LIGHT* light counter = 3d20 *TELEPORT* if 3d6+1 > INT "You materialized in solid rock" die (exit) dungeonLevel = 1d20 dungeonX = 1d20 dungeonY = 1d20 *POWER WORD KILL* if 3d6 == 18 "It backfired, you die!!!! (Heh heh heh said the Wumpus)" die (exit) if not in combat "Too bad you just wasted a combat spell!" exit if monster == doppleganger && d10 > 5 "Doppleganger is magic resistant!!" exit if 3d6 < INT "It is affected" (branch to kill monster) { "It died..." I(6)=0 // FIXME What dis? Remove mon from dgn location? exit (to calc xp) } exit "This isn't your day" & branch to monster attack. *PRISMATIC WALL/BLADE BARRIOR [sic]* if not in combat "Too bad you just wasted a combat spell!" exit "You are protected, when you release it the ";M$; if( d10 > 3 ) " is no longer there" I(6),I(7)=0 & // FIXME Clear mon and treas? break to treas subroutine else " is waiting for you" & break to mon attack. *TIME STOP* "Time is frozen, monsters cannot attack you" timestop counter = d10 break to treas subroutine *WALL OF FIRE* if not in combat "Too bad you just wasted a combat spell!" exit "A wall of flames appears about you" SLEEP 2 if( d10 > 7 ) "The ";M$;" tried to get you through the flames" "It died..." break to mon exp if( d10 > 4 ) "The ";M$;" cannot stand the heat and leaves" I(6),I(7)=0 & // FIXME Clear mon and treas? break to treas subroutine "The ";M$;" is patient" break to mon attack *SUMMON DEMON* if( 3d6+1 > INT ) "The demon is taking a bath" exit if( in combat ) "The demon demolishes the ";M$ I(6)=0 & SLEEP 2 if( 3d6+1 <= INT ) "You dispelled the demon" if( not in combat ) "Too bad you just wasted a combat spell!" exit "It attacks you!!" ///// // Instantiate monster. M$="Demon" & H=0 & M=20 & M1=C(8)+5 & M2,M2.OLD=FNR(M1,16) & M.STR=FNR(1,M(M)) & M.ARM=FNR(1,M1) -1 & ///// exit to monster attack *CURE LIGHT WOUNDS* currentHP += 1d6 + 1 if( currentHP > maxHP ) currentHP = maxHP "You have";C(11);"hit points left" exit *TURN UNDEAD* "GET YE HENCE VILE CREATURE!!!" if not in combat "Too bad you just wasted a combat spell!" exit if( monster is not undead ) "The ";M$;" feels insulted at being called undead" exit to monster attack if( 3d6+3 + monsterLevel - characterLevel > WIS ) "The ";M$;" listens with deaf ears" break to mon attack "The ";M$;" runs in terror!" & I(6)=0 & // FIXME Clear mon? exit to treas. *DETECT TRAPS* detect traps counter = 2d10 *SILENCE* silence counter = 2d10 *PRAY* prayer counter = 2d10 *CURE SERIOUS WOUNDS* & currentHP += 2d6 + 2 if( currentHP > maxHP ) currentHP = maxHP "You now have";C(11);"hit points" exit *DISPELL* if not in combat "Too bad you just wasted a combat spell!" exit else if( monster is not undead ) "The ";M$;" feels insulted at being called undead" break to mon attack if( 3d6+2 > WIS ) "The ";M$;" scorns your words" break to mon attack "The ";M$;" is dispelled into thin air" I(6)=0 exit *PLAGUE* if not in combat "Too bad you just wasted a combat spell!" exit if( 3d6+2 > WIS ) "The ";M$;" just had it's penicillin shot" & exit to mon attack "The ";M$;" dies of the black plague!!" & I(6)=0 & if( d10 == 1 ) "You caught it too!! you die!" die. *FINGER OF DEATH* if not in combat "Too bad you just wasted a combat spell!" exit "Die ";M$;"!! ZZAAAPPP!!!!" if( d20 <= WIS ) "It died..." I(6)=0 exit "The ";M$;" dodges well" exit to mon attack *RAISE DEAD* "You can't throw this on yourself" "Too bad you just wasted a combat spell!"