Mar 212009
Achaea MUD ZMUD script for recording various statics about yourself.
#CLASS {Triggers|Stats}
#VAR SleepStates {You are badly in need of sleep.|You are feeling quite tired.|You are feeling fairly tired.|You are slightly tired.|You are in no need of sleep.|You are fully rested.}
#VAR FoodStates {and you are starving to death.|and you are weak from hunger.|and you are feeling a bit peckish.|and you are not hungry.|and you are reasonably full.|and you are utterly satiated.}
#VAR DefenseList {Diamond-hard skin protects you.DiamondSkinYour water weird allows you to walk on water.WaterWierdYou are feeling quite selfish.SelfishnessYou have accepted a blessing for aid in times of need.BlessingMagically supple granite coats your body.StoneskinYou are surrounded by a non-conducting chargeshield.ChargeShieldYou are surrounded by 1 reflection of yourself.ReflectionYour mind has been touched by Thoth, the Deathgod.DeathSightYou are blind.BlindYou are surrounded by a nearly invisible magical shield.Shield}
#VAR _RunOnPrompt {} {}
#ONINPUT "TrigScore" {^score$} {
#ADDKEY Mud ResetTrigger TrigInvPack
#T+ TrigNewPrompt
}
#COND {^(%w)*~((%w) (%w)~)$} {
#ADDKEY Personal Name %1
#ADDKEY Personal Sex %2
#ADDKEY Personal Race %3
}
#COND {^You are level%s(%d)%s~((%w)~)%sand%s(%d)~%%sof the way to the next level.$} {
#ADDKEY Personal Level %1
#ADDKEY Personal LevelName %2
#ADDKEY Personal LevelProgress %3
}
#COND {^Health:%s(%d)/(%d)%sMana:%s(%d)/(%d)$} {
#ADDKEY Personal Health %1
#ADDKEY Personal HealthMax %2
#ADDKEY Personal Mana %3
#ADDKEY Personal ManaMax %4
}
#COND {^Endurance:%s(%d)/(%d)%sWillpower:%s(%d)/(%d)$} {
#ADDKEY Personal Endurance %1
#ADDKEY Personal EnduranceMax %2
#ADDKEY Personal Willpower %3
#ADDKEY Personal WillpowerMax %4
}
#COND {^Strength:%s(%d)%sDexterity:%s(%d)%sConstitution:%s(%d)%sIntelligence:%s(%d)$} {
#ADDKEY Personal Strength %1
#ADDKEY Personal Dexterity %2
#ADDKEY Personal Constitution %3
#ADDKEY Personal Intelligence %4
}
#COND {^You are ranked (%d)%w in Achaea.$} {#ADDKEY Personal Rank %1}
#ONINPUT "TrigRift" {^info rift$} {
Rift = ""
#ADDKEY Mud ResetTrigger TrigRift
#T+ TrigNewPrompt
}
#COND {^Glancing into the Rift, you see:$} {#TEMP {^$} {#STATE TrigRift 0}}
#COND {^~[(*)~](*)} {#ADDKEY Rift %trim( %2) %number( %1)}
#COND {^~[(*)~](*)~[(*)~](*)} {
#ADDKEY Rift %trim( %2) %number( %1)
#ADDKEY Rift %trim( %4) %number( %3)
} {reparse}
#COND {^~[(*)~](*)~[(*)~](*)~[(*)~](*)} {
#ADDKEY Rift %trim( %2) %number( %1)
#ADDKEY Rift %trim( %4) %number( %3)
#ADDKEY Rift %trim( %6) %number( %5)
#STATE TrigRift 2
} {reparse}
#ONINPUT "TrigStat" {^stat$} {
#ADDKEY Mud ResetTrigger TrigStat
#T+ TrigNewPrompt
}
#COND {^*({@FoodStates})$} {#ADDKEY Personal FoodLevel %ismember( %1, @FoodStates)}
#COND {^({@SleepStates})$} {#ADDKEY Personal SleepLevel %ismember( %1, @SleepStates)}
#COND {^You have%s(%d)%sLesso[ns],%s(%d)%sCredi[ts],%s(%d)%sBound Credi[ts].$} {
#ADDKEY Personal Lessons %1
#ADDKEY Personal Credits %2
#ADDKEY Personal BoundCredits %3
}
#TRIGGER "TrigWielding" {^{You are wielding:|You aren't wielding anything in either hand.}$} {
@InvWield = ""
#TEMP {^$} {
#STATE TrigWielding 0
#T- TrigWielding
}
} "" {disable}
#COND {^%s(%w%d):%s(*)$} {#ADDKEY InvWield {%1} {%2}} {looplines|param=10|disable}
#ONINPUT {^ii$} {
#T+ TrigWielding
#T+ TrigHolding
#T+ TrigWearing
#ADDKEY Mud ResetTrigger TrigWearing
#T+ TrigNewPrompt
}
#TRIGGER "TrigHolding" {^{You are holding:|You aren't holding anything.}$} {
#VAR InvHolding "" _nodef
#TEMP {^$} {
#STATE TrigHolding 0
#T- TrigHolding
}
_debug Hit
} "" {disable}
#COND {^%s(%w%d)%s(*)$} {#ADDKEY InvHolding {%1} {%2}} {looplines|param=99|disable}
#TRIGGER "TrigWearing" {^{You are wearing:|You aren't wearing anything.}$} {
@InvWearing = ""
#TEMP {^$} {
#STATE TrigWearing 0
#T- TrigWearing
}
} "" {disable}
#COND {^%s(%w%d)%s(*)$} {#ADDKEY InvWearing {%1} {%2}} {looplines|param=99|disable}
#TRIGGER "TrigNewPrompt" (@Mud.PromptWaiting) {
#T- TrigNewPrompt
#STATE @Mud.ResetTrigger 0
#IF (not %null( @_RunOnPrompt)) {
#EXEC @_RunOnPrompt
_RunOnPrompt = ""
}
} "" {disable}
#ONINPUT "TrigDef" {^def$} {
#LOOPDB @Defenses {#ADDKEY Defenses %key 0}
#TEMP {^You are protected by %x defence[s.]$} {#STATE TrigDef 0}
}
#COND {^$} {}
#COND {^({@DefenseList})$} {#ADDKEY Defenses %db( @DefenseList, %1) 1} {looplines|param=99}
#CLASS 0
#CLASS {Triggers|Stats|Sleep}
#TRIGGER {^You open your eyes and stretch languidly, feeling deliciously well-rested.$} {
#EXEC _SendCommandOnPrompt "stand"
#ADDKEY Personal Sleeping 0
#ADDKEY Personal SleepLevel 6
}
#TRIGGER {^Your exhausted mind can stay awake no longer, and you fall into a deep sleep.$} {
#ADDKEY Personal SleepLevel 1
#ADDKEY Personal Sleeping 1
#STOP
}
#TRIGGER {^You close your eyes, curl up in a ball, and fall asleep.$} {#ADDKEY Personal Sleeping 1}
#TRIGGER {^You struggle to stay awake as your eyelids shut repeatedly of their own accord.$} {#ADDKEY Personal SleepLevel 1}
#TRIGGER {^You are asleep and can do nothing. WAKE will attempt to wake you.$} {#ADDKEY Personal Sleeping 1}
#ONINPUT "TrigSleep" {^sleep$} {}
#TRIGGER {^You feel your eyelids drooping; a sure sign that you need sleep.$} {#ADDKEY Personal SleepLevel 2}
#TRIGGER {^You open your eyes and yawn mightily.$} {
#EXEC _SendCommandOnPrompt "stand"
#ADDKEY Personal Sleeping 0
}
#TRIGGER {^The first faint feelings of exhaustion prick at your consciousness.$} {#ADDKEY Personal SleepLevel 4}
#TRIGGER {^You yawn suddenly and mightily.$} {#ADDKEY Personal SleepLevel 3}
#CLASS 0
#CLASS {Triggers|Stats|Food}
#TRIGGER {^Your legs collapse from under you and consciousness leaves you as you pass out from extreme hunger.$} {#ADDKEY Personal FoodLevel 1}
#TRIGGER {^Your mental equilibrium is disturbed by overpowering thoughts of food.$} {
#ADDKEY Personal FoodLevel 1
#ADDKEY Personal EQ 0
}
#TRIGGER {^Your stomach notifies you that it is beginning to feel hungry. Perhaps you should find yourself some food.$} {#ADDKEY Personal FoodLevel 2}
#CLASS 0
#CLASS {Triggers|Stats|EQBal}
#TRIGGER {^You have recovered balance on all limbs.$} {#ADDKEY Personal Balance 1}
#TRIGGER {^You have recovered equilibrium.$} {#ADDKEY Personal EQ 1}
#TRIGGER {^You must regain balance first.$} {
#COLOR Bright,Red
#ADDKEY Personal Balance 0
#NODIR
}
#TRIGGER {^You must regain equilibrium first.$} {
#COLOR bright,red
#ADDKEY Personal EQ 0
}
#TRIGGER {^You are recovering equilibrium and cannot move yet.$} {
#COLOR Bright,Red
#NODIR
}
#TRIGGER "TrigSalve" {^You may apply another salve to yourself.$} {#ADDKEY Personal Salve 1}
#TRIGGER {^You may eat another plant.$} {#ADDKEY Personal Eat 1}
#TRIGGER {^You messily spread the salve over your body, to no effect.$} {#ADDKEY Personal Salve 1}
#CLASS 0
#CLASS {Triggers|Stats|HealthMana}
#TRIGGER {^The elixir heals and soothes you.$} {#ADDKEY Personal Elixir 0}
#TRIGGER {^You cease your meditation having achieved full will and mana.$} {#ADDKEY Personal Meditating 0}
#TRIGGER {^You close your eyes, bow your head, and empty your mind of all thought.$} {#ADDKEY Personal Meditating 1}
#TRIGGER {^You may drink another health or mana elixir.$} {#ADDKEY Personal Elixir 1}
#TRIGGER {^You snap your head up as you break your meditation.$} {#ADDKEY Personal Meditating 0}
#TRIGGER {^Your mind feels stronger and more alert.$} {#ADDKEY Personal Elixir 0}
#TRIGGER {^What is it that you wish to drink?$} {#ADDKEY Personal Elixir 1}
#TRIGGER {^You bleed (%d) health.$} {
#IF (%1 > 50) {#CW Bright,Red}
#ADDKEY Personal Bleeding %1
#ADDKEY Mud IgnoreNextPrompt 1
#IF (@Personal.Bleeding > 30) {#EXEC _ActionAdd Clot}
}
#CLASS 0
#CLASS {Triggers|Stats|SkillsLists}
#VAR SkillList {Vision|Tattoos|Survival|Weaponry|Riding|Elementalism|Crystalism|Enchantment|Chivalry|Runelore}
#VAR CheckingSkill {Skillselementalism}
#ONINPUT "TrigSkill" {^ab ({@SkillList})$} {
CheckingSkill = Skills%1
@Skills%1 = ""
#TEMP {AB} {#STATE TrigSkill 0} "" {case}
}
#COND {^You} {}
#COND {^(%w)%s} {#ADDKEY {@CheckingSkill} %1 1} {looplines|param=50}
#CLASS 0
#CLASS {Triggers|Stats|tPack}
#ONINPUT "TrigInvPack" {^p pack$} {
@InvPack = ""
#TEMP TrigPPack {^(%d) gold sovereig[ns].$} {
#STATE TrigInvPack 0
#ADDKEY Personal GoldInPack %%1
} tPack
#ADDKEY Mud ResetTrigger TrigInvPack
#T+ TrigNewPrompt
}
#COND {^"(*)"%s(*)$} {#ADDKEY InvPack {%1} {%2}} {looplines|param=99}
#TRIGGER {^You get (%d) gold sovereign[s ]from a*} {
#ADDKEY Personal GoldInPack %eval( @Personal.GoldInPack - %1)
#ADDKEY Personal GoldInHand %eval( @Personal.GoldInHand + %1)
}
#TRIGGER {^You put (%d) gold sovereign[s ]in a*} {
#ADDKEY Personal GoldInPack %eval( @Personal.GoldInPack + %1)
#ADDKEY Personal GoldInHand %if( %eval( @Personal.GoldInHand - %1)<0, 0, %eval( @Personal.GoldInHand - %1))
}
#TRIGGER {^You hold no ~"gold~".$} {#ADDKEY Personal GoldInHand 0}
#TRIGGER {^You have %d item[s ]and (%d) gold sovereign[s.]$} {#ADDKEY Personal GoldInHand %1}
#TRIGGER {^You pay (%d) sovereign*} {#ADDKEY Personal GoldInHand %eval( @Personal.GoldInHand - %1)}
#ONINPUT {^put gold in pack$} {#ADDKEY Personal GoldInHand 0}
#CLASS 0
#CLASS {Triggers|Stats|tCity}
#VAR Citizens {Cheryl|Kaelyn|Sheara|Neveos|Verrucht|Rastriana|Koradhil|Ganelon|Dagis|Daine|Gervasius|Uli|Miralla|Lisbethae|Dreidin|Ulander|Liliana}
#ONINPUT "TrigCwho" {^cwho$} {
#VAR Citizens "" _nodef tCity
#ADDKEY Mud ResetTrigger TrigCwho
#T+ TrigNewPrompt
}
#COND {^Citizen%sRank%sCT%sClass$} {}
#COND {^-------%s----%s--%s-----$} {}
#COND {%e[36m(%w)} {#ADDITEM Citizens %1} {looplines|param=99|color}
#CLASS 0
#CLASS {Triggers|Stats|tTattos}
#VAR sBodyParts {Right arm|Right leg|Left arm|Left leg|Head|Torso}
#VAR sTattoos {shield|mindseye|moss}
#VAR Rightarm {ContainsshieldCharges27ActiveN}
#VAR Rightleg {ContainsmindseyeCharges61ActiveN}
#VAR Leftleg {}
#VAR Torso {}
#VAR Head {}
#ONINPUT {^tattoos$} {
#VAR Rightarm "" _nodef tTattos
#VAR Rightleg "" _nodef tTattos
#VAR Leftleg "" _nodef tTattos
#VAR Rightleg "" _nodef tTattos
#VAR Torso "" _nodef tTattos
#VAR Head "" _nodef tTattos
}
#COND {^Body%sPart%sTattoo%sCharges%sActive$} {}
#COND {------------------------------------------------------------} {}
#COND {^({@sBodyParts})%sa ({@sTattoos}) tattoo%s(%d)%s([YN])$} {
#ADDKEY %replace( %1, " ", "") Contains %2
#ADDKEY %replace( %1, " ", "") Charges %3
#ADDKEY %replace( %1, " ", "") Active %4
} {looplines|param=12}
#CLASS 0