[FUNCTION rage] IF !() SRC.SYSMESSAGE You may only use this command on NPCs. RETURN 1 ENDIF //Already enraged, someone's pet, or not spawned. IF !(0 == 1) IF (()||()||(0==0)) SRC.SYSMESSAGE is a pet, enraged, or not spawned. Pass the "1" argument to override. RETURN 1 ENDIF ENDIF SFX 203 ANIM 8 NPC=brain_beserk EQUIPARMOR EQUIPWEAPON EVENTS=+e_rage //EVENTS=+e_timemage COLOR=021 EMOTE looks enraged POISON 150.0 NEWITEM i_death_timer ACT.CONT= ACT.MORE2=0> IF ( > 0) ACT.TIMER= ENDIF RETURN 1 [FUNCTION removerage] IF () EVENTS=-e_rage FINDID.i_death_timer.REMOVE IF ( == 0) NPC=10 ELSE NPC= ENDIF COLOR= SPELLEFFECT s_cure, 500.0 ENDIF RETURN 1 [FUNCTION charm] VAR.OLDTAMED = 0 removerage IF ((0 == 1)&&(!)) ENSLAVE 1 COLOR=01d ANIM 6 ELSE tame ENDIF //Tamed? IF ((>==0)&&()) COLOR=01d ANIM 6 EVENTS=+e_charm EMOTE raptly follow VAR.OLDTAMED= RETURN 1 ELSE VAR.OLDTAMED= RETURN 0 ENDIF [FUNCTION tame] IF !(0 == 1) IF ((!)||()||(0==0)) SRC.SYSMESSAGE is not an NPC, is a pet, or is not spawned. Pass the "1" argument to tame it anyway. RETURN 1 ENDIF ENDIF //Force-tame. FOOD= //IF (0==0) // EMOTE follow //ELSE // EMOTE follow >.NAME> //ENDIF NEWITEM i_tame_check ACT.MOREP= ACT.MORE1= ACT.CONT= ACT.TIMER=1 IF !() NEWITEM i_memory ELSE ACT= ENDIF IF (0==0) ACT.LINK= ELSE ACT.LINK=> ENDIF HOME= HOMEDIST=1 //If we're owned by someone else, place the tamed creature under *that* owner's control. IF (()&&()) ACT.LINK= ENDIF ACT.COLOR=memory_ipet|memory_speak|memory_guard //|memory_follow ACT.ATTR=attr_newbie ACT.MORE1=04 ACT.MORE2= ACT.MOREP=

EQUIP FLAGS=|statf_pet RETURN 1 [ITEMDEF i_tame_check] NAME=Tame checker ID=i_memory TYPE=t_eq_script ON=@Create ATTR=attr_invis|attr_move_never ON=@Equip TIMER=1 ON=@Timer IF (0==0) IF () SRC.COLOR= SRC.EVENTS=-e_charm ENDIF IF (( == 634)&&( == 1197)) //This means the home was -1,-1 (MOREP is unsigned) SRC.HOME=-1,-1 ELSE SRC.HOME= ENDIF SRC.HOMEDIST= IF ( & statf_pet) SRC.FLAGS= &~ statf_pet ENDIF REMOVE ELSE TIMER=10 ENDIF RETURN 1 [EVENTS e_rage] ON=@Hit IF () // FLEE 5 SRC.FLEE 5 RETURN 1 ENDIF IF (()||(0==0)) FLEE RETURN 1 ENDIF VAR.RAGETIME=> SRC.RAGE VAR.RAGETIME= RETURN 0 ON=@Death VAR.OLDACT= NEWITEM i_rage_steptrigger ACT.TIMER= * 30> ACT.P=

ACT.ATTR=attr_invis|attr_move_never ACT.MORE2=0 FINDID.i_death_timer.REMOVE ACT=> VAR.OLDACT= RETURN 0 ON=@SpellCast IF (()||(0==0)) RETURN 1 ENDIF RETURN 0 [EVENTS e_charm] ON=@HitTry IF (==) //Allow identity. RETURN 0 ENDIF IF () //Stop fighting. TRYP 0 MEMORYFIND..COLOR=memory_friend TRYP 0 SRC.MEMORYFIND..COLOR=memory_friend RETURN 1 ENDIF ON=@SkillStart IF ((==019)||(==skill_magery)) IF () TRYP 0 MEMORYFIND..COLOR=memory_friend TRYP 0 SRC.MEMORYFIND..COLOR=memory_friend ACTION=-1 RETURN 1 ENDIF ENDIF ON=@Hit IF () SRC.REMOVERAGE ENDIF VAR.CHARMSRC=> IF !() VAR.CHARMSRC= RETURN 0 ELSE VAR.CHARMSRC= RETURN 1 ENDIF ON=@GetHit IF () SRC.REMOVERAGE ENDIF VAR.CHARMSRC=> IF !() VAR.CHARMSRC= RETURN 0 ELSE VAR.CHARMSRC= RETURN 1 ENDIF [ITEMDEF i_rage_steptrigger] ID=i_nodraw NAME=Rage corpse TYPE=t_normal ON=@Create ATTR=attr_move_never|attr_decay //Spread it on step. ON=@Step IF !() RETURN 0 ENDIF IF !() SAYUA 025,0,0,eng,Rage still lingers on this corpse... ENDIF IF () VAR.RAGETIME=> SRC.RAGE VAR.RAGETIME= ENDIF //Why won't decay work properly on this? ON=@Timer REMOVE RETURN 1 [ITEMDEF i_death_timer] ID=i_memory NAME=Death Timer TYPE=t_eq_script ON=@Create ATTR=attr_invis|attr_decay TIMER=60 ON=@Timer IF () CONT.EMOTE keels over CONT.SUICIDE ELSE REMOVE //We can't remove on @Timer because we use it on @Death. ENDIF RETURN 1 [ITEMDEF i_conjure_timer] ID=i_memory NAME=Conjuration Timer TYPE=t_eq_script ON=@Create ATTR=attr_invis|attr_decay TIMER=60 ON=@Timer IF () CONT.FLAGS=statf_conjured CONT.REMOVE ELSE REMOVE ENDIF RETURN 1 [ITEMDEF i_potion_rage] NAME=Rage potion ID=i_bottle_red TYPE=t_potion TDATA1=0 //DISPID=i_bottle_red ON=@Create MORE1=s_explosion MORE2=60 //This is spell duration, not strength. MOREP=10,10,100 COLOR=025 ON=@Timer //They start at 3 by default, even with MOREX != 3... IF ( > 0) MOREX=+1> MOREY=0 ENDIF IF ( == 1) //Explode. LINK.NEWITEM i_explosion_rage LINK.ACT.P=

LINK.ACT.MORE2= LINK.ACT.MOREZ= LINK.ACT.LINK= LINK.ACT.TIMER=1 LINK.ACT.SFX snd_SPELL_EXPLOSION SFX 603 REMOVE RETURN 1 ENDIF [ITEMDEF i_explosion_rage] NAME=Rage ID=i_fx_explode TYPE=t_explosion ON=@Create MOREP=30,012,100 MORE1=0 MORE2=60 ATTR=attr_move_never|attr_decay COLOR=023 ON=@Timer IF ( == 0) LINK.NEWITEM=i_nuke_node LINK.ACT.P=

LINK.ACT.MOVE nw > VAR.RAGETIME=> LINK.NUKECHAR RAGE LINK.LAST LINK.ACT.MOVE se *2> LINK.LAST LINK.ACT.REMOVE VAR.RAGETIME= MORE1=1 ENDIF REMOVE //Comment to allow a damaging explosion to take place. RETURN 1 [ITEMDEF i_potion_charm] NAME=Charm potion ID=i_bottle_black TYPE=t_potion TDATA1=0 ON=@Create MORE1=s_explosion MORE2=60 //This is spell duration, not strength. MOREP=10,10,100 COLOR=01c ON=@Timer //They start at 3 by default, even with MOREX != 3... IF ( > 0) MOREX=+1> MOREY=0 ENDIF IF ( == 1) //Explode. LINK.NEWITEM i_explosion_charm LINK.ACT.P=

LINK.ACT.MORE2= LINK.ACT.MOREZ= LINK.ACT.LINK= LINK.ACT.TIMER=1 LINK.ACT.SFX snd_SPELL_EXPLOSION SFX 559 REMOVE RETURN 1 ENDIF [ITEMDEF i_explosion_charm] NAME=Charm ID=i_fx_explode TYPE=t_explosion ON=@Create MOREP=10,012,100 MORE1=0 MORE2=60 ATTR=attr_move_never|attr_decay COLOR=01d ON=@Timer LINK.NEWITEM=i_nuke_node LINK.ACT.P=

LINK.ACT.MOVE nw > LINK.NUKECHAR CHARM // LINK.LAST LINK.ACT.MOVE se *2> LINK.LAST LINK.ACT.REMOVE REMOVE RETURN 1 [ITEMDEF i_potion_necro] NAME=Necromantic potion ID=i_bottle_black TYPE=t_potion TDATA1=0 ON=@Create MORE1=s_explosion MORE2=60 //This is spell duration, not strength. MOREP=10,10,20 COLOR=0455 ON=@Timer //They start at 3 by default, even with MOREX != 3... IF ( > 0) MOREX=+1> MOREY=0 ENDIF IF ( == 1) //Explode. LINK.NEWITEM i_explosion_necro LINK.ACT.P=

LINK.ACT.MORE2= LINK.ACT.MOREZ= LINK.ACT.LINK= LINK.ACT.TIMER=1 LINK.ACT.SFX snd_SPELL_EXPLOSION SFX 581 REMOVE RETURN 1 ENDIF [ITEMDEF i_explosion_necro] NAME=Raise dead ID=i_fx_explode TYPE=t_explosion ON=@Create MOREP=10,012,100 MORE1=0 MORE2=60 ATTR=attr_move_never|attr_decay COLOR=0455 ON=@Timer LINK.NEWITEM=i_nuke_node LINK.ACT.P=

LINK.ACT.MOVE nw > LINK.NUKE RAISENPC LINK.LAST LINK.ACT.MOVE se *2> LINK.LAST LINK.ACT.REMOVE REMOVE RETURN 1 [FUNCTION raisenpc] IF ((==t_corpse)&&(!)) IF (0> > 0) LINK=> ELSE LINK= ENDIF LINK.NEWNPC LINK.ACT.P=

LINK.ACT.NAME= LINK.ACT.COLOR=047f LINK.ACT.EVENTS=+e_undead_tracker LINK.ACT.EVENTS=+e_undead VAR.CHARMSRC= LINK.ACT.TAME 1 VAR.CHARMSRC= LINK.ACT.ANIM 21 1 REMOVE ENDIF [FUNCTION free] CONSUME 1 i_control_slave_memory [FUNCTION enslave] IF (>==0) VAR.CHARMASTER=> ENDIF IF (>==) SYSMESSAGE You cannot use this function on yourself. VAR.CHARMASTER= RETURN 1 ENDIF //VAR.OLDACT=> //Link two objects. ACT=> SRC.NEWITEM i_control_master_memory VAR.MASTERITEM=> ACT.EQUIP SRC.NEWITEM i_control_slave_memory SRC.ACT.LINK=> SRC.ACT.MORE2=> //If 1, we attempt to heal the owner. Otherwise, we simply mimic. VAR.MASTERITEM= SRC.ACT.LINK.LINK= EQUIP SRC.NEWNPC c_tracker SRC.ACT.NAME= SRC.ACT.P=

FINDID.i_control_slave_memory.MORE1= //SRC.ACT=> //VAR.OLDACT= //This causes the NPC to become dumb. ACT.ACT=0 ACT=0 VAR.CHARMASTER= [ITEMDEF i_control_master_memory] ID=i_memory NAME=Controller - Master TYPE=t_eq_script ON=@Create ATTR=attr_invis|attr_move_never|attr_decay ON=@Equip SRC.EVENTS=+e_control_master MOREP= //Initial position. TIMER=5 ON=@Timer IF !() REMOVE RETURN 1 ELSE TIMER=5 RETURN 1 ENDIF ON=@Unequip SRC.EVENTS=-e_control_master [ITEMDEF i_control_slave_memory] ID=i_memory NAME=Controller - Slave TYPE=t_eq_script ON=@Create ATTR=attr_invis|attr_move_never|attr_decay ON=@Equip MOREP = //Initial position. SRC.EVENTS=+e_control_slave SRC.SYSMESSAGE Another will impinges on your own. IF !() IF () SRC.FINDLAYER.1.UNEQUIP ENDIF ELSE IF (>) TRYP 0 SRC.FINDID..EQUIP ELSEIF (>) TRYP 0 SRC.FINDTYPE..EQUIP ENDIF ENDIF IF !() IF () SRC.FINDLAYER.2.UNEQUIP ENDIF ELSE IF (>) TRYP 0 SRC.FINDID..EQUIP ELSEIF (>) TRYP 0 SRC.FINDTYPE..EQUIP ENDIF ENDIF TIMERd=1 ON=@Unequip SRC.ACT= SRC.ACT.REMOVE SRC.EVENTS=-e_control_slave SRC.SYSMESSAGE You feel free again. SRC.COLOR= ON=@Timer IF !() REMOVE RETURN 1 ENDIF IF ((==brain_monster)&&( < 40)) CONT.MESSAGE Your pain wakes you out of your stupor. CONT.FREE CONT.STAM=7 //Give them a chance. RETURN 0 ENDIF CONT.STAM=0 //Prevent them from moving on their own. CONT.ACT= CONT.ACT.ACT= IF !(==064) IF ((==0)||(!)) //Follow the owner if not the ACT. CONT.ACT.ACT= ENDIF CONT.ACT.ACTION=064 ENDIF CONT.DIR= CONT.MOVETO IF !((==019)&&(==1)) CONT.ACT= ELSE CONT.ACT= ENDIF //CONT.ACTARG1= //CONT.ACTARG2= CONT.UPDATE //Movement. TIMERd=0 RETURN 1 [EVENTS e_control_master] ON=@SkillStart IF (==) RETURN 0 ENDIF FINDID.i_control_master_memory.LINK.TOPOBJ.ACTARG1= FINDID.i_control_master_memory.LINK.TOPOBJ.ACTARG2= FINDID.i_control_master_memory.LINK.TOPOBJ.SKILL ON=@HitTry FINDID.i_control_master_memory.LINK.TOPOBJ.ATTACK ON=@ItemEquip IF ((==11)||(==15)||(==16)||(==21)||( > 24)) //These layers are not to be mimicked! RETURN 0 ENDIF IF (>) TRYP 0 FINDID.i_control_master_memory.LINK.TOPOBJ.FINDID..CONT= ELSEIF (>) TRYP 0 FINDID.i_control_master_memory.LINK.TOPOBJ.FINDTYPE..CONT= ENDIF ON=@ItemUnequip IF ((==11)||(==15)||(==16)||(==21)||( > 24)) RETURN 0 ENDIF TRYP 0 FINDID.i_control_master_memory.LINK.TOPOBJ.FINDLAYER..CONT= [EVENTS e_control_slave] ON=@SkillStart IF (==brain_monster) //Shed some clothing to make the attacks more potent and to freak the player out :) VAR.LAYERDROP=.UID> IF (> > 0) TRYP 0 UID..BOUNCE //CONT= ENDIF ENDIF IF (==067) ACTION= RETURN 1 ENDIF IF !(==) ACTION= ENDIF IF ((==019)&&(==1)) ACT= //Poison heals them, so include it. ACTARG1= //ACTARG1={s_heal 1 s_greater_heal 2 s_poison 1 s_protection 2 s_reactive_armor 2 s_agility 1 s_cunning 1 s_strength 1 s_bless 2 s_magic_reflection 2 s_invisibility 1} ELSE ACT= ACTARG1= ENDIF ACTARG2= ON=@Death //We could make their ghost a slave, but that'd be unfair. FREE [CHARDEF c_tracker] ID=c_man_invisible NAME=Tracker NPC CAN=MT_RUN|MT_WALK ON=@Create FLAGS=statf_invul|statf_insubstantial STR=100 DEX=1000 INT=100 KARMA=0 ON=@SkillStart IF !(==064) ACTION=064 ENDIF RETURN 0 [ITEMDEF i_ring_resistance] ID=i_ring_gold NAME=Ring of Resistance ON=@Create COLOR=062 ON=@Equip SRC.MAGICRESISTANCE=+20.0> ON=@Unequip SRC.MAGICRESISTANCE=-20.0> [SPEECH spk_Nymph] ON=*Hello* ON=*Hi* ON=*Greetings* IF ( & mt_female) EMOTE continues ignoring you. RETURN 1 ENDIF IF (==brain_beserk) SAY Oh, do shut up. ELSE SAY Why hello there, handsome. SALUTE ENDIF RETURN 1 ON=*Reward* IF ( & mt_female) RETURN 1 ENDIF IF (==brain_beserk) SAY Ha! To one as imperfect as you!? ELSE SAY Oh, yes, I do look forward to rewarding you. ENDIF RETURN 1 ON=*No* IF !( & memory_speak) //We didn't notice the player yet. RETURN 1 ENDIF IF ( & mt_female) RETURN 1 ENDIF IF ( < 3) EMOTE snuggles close to and pouts a bit ENDIF SAY Please... if you help me, I can give one as handsome as yourself... certain rewards. RETURN 1 ON=* IF !( & memory_speak) //We didn't notice the player yet. RETURN 1 ENDIF IF ( & mt_female) RETURN 1 ENDIF IF () SAY They're on the peninsula to the north of my glade... hurry! RETURN 1 ENDIF ANIM 6 SAY Oh, thank you! I'm looking forward to giving you your reward after this is over! IF ( < 3) EMOTE snuggles close to ENDIF SAY Some nasty dark elves are trying to kill me! I need protection! They're to the north, near the beach. I'll follow you there! ACT= ACTION=064 IF !() SRC.NEWITEM i_memory_nymph_quest SRC.ACT.LINK= SRC.ACT.EQUIP ENDIF RETURN 1 //Domination spells are a fun use for the new "enslave" feature. [CHARDEF c_nymph] ID=c_woman NAME=Nymph CAN=mt_walk|mt_run|mt_swim|mt_female|mt_equip|mt_usehands TSPEECH=spk_human_prime TSPEECH=spk_Nymph ON=@Create TITLE=" " STR={100 200} DEX={400 600} INT={200 300} KARMA=1 FAME={5000 7500} COLOR=08221 NPC=brain_human MAGERY=100.0 MAGICRESISTANCE=100.0 WRESTLING=100.0 TACTICS={70.0 100.0} ON=@NPCRestock ITEMNEWBIE=i_hair_ponytail COLOR={0473 3 colors_hair 1} ITEM=loot_elem_earth ITEM=loot_reaper ITEM=template_nymph_spellbook ITEM=i_ring_resistance ON=@NPCSeeNewPlayer //Only notice males. IF ( & mt_female) EMOTE looks quickly at and looks back down. RETURN 0 ENDIF IF ((==brain_beserk)||( & statf_war)) //Don't try to seduce people in warmode. RETURN 1 ENDIF EMOTE runs over to and grabs his shoulder. SAY Oh sir! Surely one as strong as yourself can help a poor, lonely woman such as me? //ACT= //ACTION=064 ON=@Click IF (==brain_beserk) RETURN 0 ENDIF IF !() MESSAGE You see a beautiful woman sitting in the glade combing her hair. ENDIF RETURN 1 ON=@EnvironChange IF ((! & statf_war)&&()) IF ( & mt_female) RETURN 0 ENDIF IF (( > 5)&&( < 15)) SAY No! Please don't leave! I love you! ENDIF IF ((==brain_beserk)&&(!)&&(!)) NPC=brain_human KARMA=1 FLAGS= &~ statf_war ENDIF ENDIF ON=@SkillStart IF ((==067)&&()) IF () ACT= ACTION=064 ENDIF RETURN 0 ENDIF IF (()&&( < 064)) FLEE 3 RETURN 1 ENDIF IF ((==019)&&()) ACTARG1=37 //Mind blast. ENDIF ON=@Hit IF () FLEE 3 RETURN 1 ENDIF [CHARDEF c_siren] ID=c_woman CAN=mt_walk|mt_run|mt_fly|mt_swim|mt_female|mt_equip|mt_usehands NAME=#NAMES_HUMANFEMALE the Siren ON=@Click IF (()||(&statf_dead)||(&statf_hidden)||(&statf_invisible)||(&statf_insubstantial)||(&statf_invul)) RETURN 0 ENDIF IF (( > 5)&&()&&(!)&&!(>==)) // FINDID.i_bow.CONT= SFX EMOTE starts to sing TAG.LASTSUNG=> SRC.ACT= VAR.CHARMASTER= SRC.ENSLAVE SRC.EVENTS=+e_freeonhit ATTACK ENDIF ON=@NPCSeeNewPlayer IF () RETURN 1 ENDIF IF ((!)&&!(>==)) SFX EMOTE starts to sing TAG.LASTSUNG=> SRC.ACT= VAR.CHARMASTER= SRC.ENSLAVE ATTACK ENDIF ON=@EnvironChange IF () IF (( & statf_dead)||( > 15)) FINDID.i_control_master_memory.LINK.SYSMESSAGE The siren's song fades into the distance. FINDID.i_control_master_memory.REMOVE ENDIF IF !() FINDID.i_control_master_memory.LINK.SYSMESSAGE The siren's song abruptly ends. FINDID.i_Control_master_memory.REMOVE ENDIF ENDIF FIX NUDGEDOWN 3 ON=@Create STR={140 240} DEX={200 400} INT={100 200} KARMA={-6000 -9000} FAME={5000 7500} COLOR=08221 NPC=brain_human MAGERY=0.0 MAGICRESISTANCE=100.0 WRESTLING=100.0 ENTICEMENT=100.0 MUSICIANSHIP=100.0 TACTICS={70.0 100.0} ON=@NPCRestock ITEMNEWBIE=i_skirt_long COLOR=0c0 ITEMNEWBIE=i_boots_calf COLOR=01 ITEMNEWBIE=i_hair_long COLOR=color_o_gold ITEM=loot_elem_water ITEM=loot_kraken ITEM=loot_stone_harpy //ITEM=i_bow //ITEM=i_arrow,{20 30} ITEM=i_gloves_performer ITEM=i_lute NAME=Siren's Dulcimer COLOR=0655 ON=@HitTry IF ( < 4) BODY=c_harpy COLOR=0c0 UPDATE EMOTE stops singing EVENTS=+e_peacerevert SRC.FREE ENDIF [EVENTS e_freeonhit] ON=@GetHit FREE EVENTS=-e_freeonhit [EVENTS e_peacerevert] ON=@EnvironChange IF !() COLOR= BODY= EQUIPWEAPON EQUIPARMOR EVENTS=-e_peacerevert UPDATE ENDIF [EVENTS e_succubus] ON=@NPCSeeNewPlayer SPEECHCOLOR=0ee IF !() IF !( & mt_female) BODY=c_succubus UPDATE SAY Why don't you come over here, sugar? ELSE BODY=c_incubus UPDATE SAY Hey darling, come a little closer... ENDIF ANIM 15 1 ATTACK ENDIF ON=@SkillStart IF ((==brain_beserk)&&(&statf_conjured)) SAY Aww... thanks, but this is yours. ACT.GO IF (==) MEMORYFINDTYPE.memory_war_targ.REMOVE ENDIF ACT=0 ACTION=-1 RETURN 1 ENDIF IF (()&&(!)) SAY How sweet... come here, little ! IF (==) MEMORYFINDTYPE.memory_war_targ.REMOVE ENDIF ACT.MEMORYFINDTYPE.memory_war_targ.REMOVE ACT.FLAGS= &~ statf_war IF () ACT.MEMORYFINDTYPE.memory_ipet.LINK.SYSMESSAGE has deserted you. ACT.NEWITEM=ispell_17_attacker ACT.ACT.LINK= ACT.MEMORYFINDTYPE.memory_ipet.LINK.EQUIP ACT.NEWITEM=ispell_17_attacker ACT.ACT.LINK= ACT.MEMORYFINDTYPE.memory_ipet.LINK.EQUIP ACT.MEMORYFINDTYPE.memory_ipet.REMOVE ENDIF ACT.TAME 1 ACTION=-1 ACT=0 RETURN 1 ENDIF //Attempt a charm every 10 tries, starting with the first. IF (==019) IF ((!)&&(>==0)) ACTARG1=37 ENDIF ENDIF ON=@SpellCast TAG.SPELLCOUNT=+1> IF (> == 10) TAG.SPELLCOUNT=0 ENDIF IF (==37) VAR.OLDACT=> ACT.NEWITEM i_memory_nymph_quest ACT.ACT.LINK= ACT.EQUIP ACT.ACT=> VAR.OLDACT= ENDIF ON=@GetHit IF (( & 08)||( & 010)) SPELLEFFECT s_greater_heal, > SAY *giggles* Hehe, that tickles! RETURN 1 ENDIF IF ((==brain_beserk)&&(&statf_conjured)) SAY Aww... thanks, but this is yours. SRC.GO RETURN 1 ENDIF ON=@SpellEffect IF (==28) //Fire field. SAY Flames everywhere... just like home... aww, you shouldn't have. SPELLEFFECT s_greater_heal, > RETURN 1 ENDIF [CHARDEF c_incubus] DEFNAME=c_incubus ID=c_man NAME=#NAMES_DAEMON the Incubus SOUND=snd_MONSTER_DAEMON1 CAN=MT_WALK|MT_RUN|MT_USEHANDS|MT_EQUIP|MT_FIRE_IMMUNE DAM=20,25 ARMOR={3 18} RESOURCES=9 i_ribs_raw, 8 i_reag_daemon_bone FOODTYPE= DESIRES=i_gold,c_woman,i_fx_field_fire,i_fx_field_fire_ns,i_fx_poison_field,t_fire SHELTER=r_dungeon,r_caves AVERSIONS=t_TRAP,t_lavabomb,i_fx_field_paralyze,r_civilization TEVENTS=e_daemon_tracker CATEGORY=Monsters SUBSECTION=Daemons & Gargoyles DESCRIPTION=Incubus TSPEECH=spk_human_prime TEVENTS=e_succubus ON=@Create COLOR={0455 8 08152 1 08157 1 08355 1 colors_daemon 1 colors_skin 1} NPC=brain_monster FAME={4000 8000} KARMA={-8000 -10000} STR={275 305} DEX={376 395} INT={300 325} SWORDSMANSHIP={65.0 75.0} PARRYING={65.0 75.0} MAGERY=100.0 MAGICRESISTANCE={70.0 80.0} TACTICS={70.0 80.0} WRESTLING={60.0 80.0} //ALIGNMENT=EVIL //SPELLCIRCLES=6 8 ON=@NPCRestock ITEM=loot_daemon_w_sword ITEMNEWBIE={i_hair_none 2 i_hair_mohawk 1 i_hair_short 1} COLOR={colors_hair 1 colors_daemon 1} ITEM=i_sash COLOR={0ee 2 0fd 1 0c1 1 0b2 1 013e 2 04b2 2} ITEM=i_spellbook ADDSPELL s_harm ADDSPELL s_poison ADDSPELL s_fireball ADDSPELL s_poison ADDSPELL s_curse ADDSPELL s_fire_field ADDSPELL s_mana_drain ADDSPELL s_mind_blast ADDSPELL s_paralyze ADDSPELL s_explosion ADDSPELL s_flamestrike ADDSPELL S_mana_vampire ADDSPELL s_meteor_swarm ADDSPELL s_summon_daemon ADDSPELL s_fire_bolt ITEM=i_scepter_magebane [CHARDEF c_succubus] DEFNAME=c_succubus ID=c_woman NAME=#NAMES_HUMANFEMALE the Succubus SOUND=snd_MONSTER_DAEMON1 CAN=MT_WALK|MT_RUN|MT_USEHANDS|MT_FEMALE|MT_EQUIP|MT_FIRE_IMMUNE DAM=20,25 ARMOR={3 18} RESOURCES=9 i_ribs_raw, 8 i_reag_daemon_bone FOODTYPE= DESIRES=i_gold,c_man,i_fx_field_fire,i_fx_field_fire_ns,i_fx_poison_field,t_fire SHELTER=r_dungeon,r_caves AVERSIONS=t_TRAP,t_lavabomb,i_fx_field_paralyze,r_civilization TEVENTS=e_daemon_tracker CATEGORY=Monsters SUBSECTION=Daemons & Gargoyles DESCRIPTION=Succubus TSPEECH=spk_human_prime TEVENTS=e_succubus ON=@Create COLOR={0455 8 08152 1 08157 1 08355 1 colors_daemon 1 colors_skin 1} NPC=brain_monster FAME={4000 8000} KARMA={-8000 -10000} STR={275 305} DEX={376 395} INT={300 325} SWORDSMANSHIP={65.0 75.0} PARRYING={65.0 75.0} MAGERY=100.0 MAGICRESISTANCE={70.0 80.0} TACTICS={70.0 80.0} WRESTLING={60.0 80.0} //ALIGNMENT=EVIL //SPELLCIRCLES=6 8 ON=@NPCRestock ITEM=loot_daemon_w_sword ITEMNEWBIE={i_hair_none 3 i_hair_mohawk 2 i_hair_short 1 i_hair_long 2} COLOR={colors_hair 1 colors_daemon 1 0 1} ITEM={i_sash 1 i_armor_female_studded 1} COLOR={0ee 2 0fd 1 0c1 1 0b2 1 013e 2 04b2 2} ITEM=i_spellbook ADDSPELL s_harm ADDSPELL s_poison ADDSPELL s_fireball ADDSPELL s_poison ADDSPELL s_curse ADDSPELL s_fire_field ADDSPELL s_mana_drain ADDSPELL s_mind_blast ADDSPELL s_paralyze ADDSPELL s_explosion ADDSPELL s_flamestrike ADDSPELL S_mana_vampire ADDSPELL s_meteor_swarm ADDSPELL s_summon_daemon ADDSPELL s_fire_bolt ITEM=i_scepter_magebane [TEMPLATE template_nymph_spellbook] //This shouldn't be necessary, but it is. CONTAINER=i_backpack ITEM=i_spellbook ADDSPELL s_harm ADDSPELL s_mind_blast ADDSPELL s_lightning ADDSPELL s_polymorph ADDSPELL s_mana_drain ADDSPELL s_mana_vampire //ADDSPELL s_summon_elem_earth //Doesn't work well with NPC=brain_beserk [ITEMDEF i_memory_nymph_quest] ID=i_memory NAME=Nymph quest TYPE=t_eq_script ON=@Create ATTR=attr_move_never|attr_invis MORE1={200 400} ON=@Equip SRC.EVENTS=+e_nymphquest TIMER=1 ON=@Unequip SRC.EVENTS=-e_nymphquest SRC.COLOR= SRC.FREE ON=@Timer IF ((==1)||(!)) REMOVE RETURN 1 ELSE IF () MORE1=+(-1)> ENDIF ENDIF TIMER=1 RETURN 1 [EVENTS e_nymphquest] ON=@HitTry IF !() //Now make the nymph attack (but surprise! It's the player, rather than the dark elf). IF (==brain_human) FINDID.i_memory_nymph_quest.LINK.NPC=brain_beserk ENDIF ENDIF ON=@SpellEffect IF ((==)&&(==37)&&(!)) IF (==brain_monster) //For the timer. SRC.SAY Ooh, I can't wait to feast on YOUR soul! CHARM 1 ELSE SRC.SAY Ha! Now you're mine! SRC.KARMA=-8000 SRC.NPC=brain_beserk ENSLAVE ENDIF RETURN 1 ENDIF [EVENTS e_TEST_All] // Char based triggers. // Same set of triggers as CHARDEF ON=@Click // I got clicked on by someone. SAY event @Click ON=@Create // Newly created (not in the world yet) SAY event @Create ON=@DClick // Someone has dclicked on me. SAY event @DClick ON=@Damage SAY event @damage ON=@Death //+I just got killed. SAY event @Death ON=@Destroy // Permanently gone. SAY event @Destroy ON=@EnvironChange // my environment changed somehow (light,weather,season,region) SAY event @EnvironChange ON=@FearOfDeath // I'm not healthy. SAY event @FearOfDeath ON=@FightSwing // randomly choose to speak while fighting. SAY event @FightSwing ON=@GetHit // I just got hit. SAY event @GetHit ON=@Hit // I just hit someone. (TARG) SAY event @Hit ON=@HitMiss // I just missed. SAY event @HitMiss ON=@HitTry // I am trying to hit someone. starting swing. SAY event @HitTry ON=@itemClick // I clicked on an item SAY event @itemClick ON=@itemDAMAGE // I have damaged item in some way SAY event @itemDAMAGE ON=@itemDCLICK // I have dclicked item SAY event @itemDCLICK ON=@itemDROPON_CHAR // I have been dropped on this char SAY event @itemDROPON_CHAR ON=@itemDROPON_GROUND // I dropped an item on the ground SAY event @itemDROPON_GROUND ON=@itemDROPON_ITEM // I have been dropped on this item SAY event @itemDROPON_ITEM ON=@itemEQUIP // I have equipped an item SAY event @itemEQUIP ON=@itemPICKUP_GROUND SAY event @itemPICKUP_GROUND ON=@itemPICKUP_PACK // picked up from inside some container. SAY event @itemPICKUP_PACK ON=@itemSPELL // cast some spell on the item. SAY event @itemSPELL ON=@itemSTACKON // stacked item on another item SAY event @itemSTACKON ON=@itemSTEP // stepped on an item SAY event @itemSTEP ON=@itemTARGON_CHAR SAY event @itemTARGON_CHAR ON=@itemTARGON_GROUND SAY event @itemTARGON_GROUND ON=@itemTARGON_ITEM // I am being combined with an item SAY event @itemTARGON_ITEM ON=@itemToolTip // Did tool tips on an item SAY event @itemToolTip ON=@itemUNEQUIP // i have unequipped (or try to unequip) an item SAY event @itemUNEQUIP ON=@LogIn // Client logs in SAY event @LogIn ON=@LogOut // Client logs out (21) SAY event @LogOut ON=@NPCAcceptItem // (NPC only) i've been given an item i like (according to DESIRES) SAY event @NPCAcceptItem ON=@NPCHearGreeting // (NPC only) i have been spoken to for the first time. (no memory of previous hearing) SAY event @NPCHearGreeting ON=@NPCHearNeed // (NPC only) i heard someone mention something i need. (11) SAY event @NPCHearNeed ON=@NPCHearUnknown //+(NPC only) I heard something i don't understand. SAY event @NPCSeeNewPlayer ON=@NPCRefuseItem // (NPC only) i've been given an item i don't want. SAY event @NPCSeeNewPlayer ON=@NPCSeeNewPlayer //+(NPC only) i see u for the first time. (in 20 minutes) (check memory time) SAY event @NPCSeeNewPlayer ON=@NPCSeeWantItem // (NPC only) i see something good. SAY event @NPCSeeWantItem ON=@PersonalSpace //+i just got stepped on. SAY event @PersonalSpace ON=@Profile // someone hit the profile button for me. SAY event @Profile ON=@ReceiveItem // I was just handed an item (Not yet checked if i want it) SAY event @ReceiveItem ON=@SkillFail SAY event @SkillFail SAY ON=@SkillSelect SAY event @SkillSelect ON=@SkillSuccess SAY event @SkillSuccess ON=@SkillTry SAY event @SkillTry ON=@SpellCast //+Char is casting a spell. SAY event @SpellCast SAY ON=@SpellEffect //+A spell just hit me. SAY event @SpellEffect ON=@ToolTip // someone did tool tips on me. SAY event @ToolTip