"--------------------------------------------------------------------------------" "Special-purpose quasispells" "--------------------------------------------------------------------------------" (SPELL (NONMAGIC) dueloff "#dueloff" () (=> (GUARD (REQUIRE (== (substr (location caster) 2 5) "009-7"))) (EFFECT (IF (== (script_int caster "@Duels_Off") 1) (BLOCK (SCRIPT "{set @Duels_Off, 0;}") (message caster "Now accepting incoming duel requests.") (ABORT))) (SCRIPT "{set @Duels_Off, 1;}") (message caster "Now blocking incoming duel requests.")))) (SPELL (NONMAGIC) duel "#duel" (PC target) (=> (GUARD (REQUIRE (== (% (script_int target "$fightclub_enabled") 5) 3))) (EFFECT (IF (== target caster) (BLOCK (message caster "You can not fight against yourself.") (ABORT))) (IF (is_dead target) (BLOCK (message caster "You can not fight against a corpse.") (ABORT))) (IF (status_option caster SO_GMINVISIBLE) (BLOCK (message caster "You can not fight while being invisible.") (ABORT))) (IF (status_option target SO_GMHIDE) (BLOCK (message caster "This player have @hide enabled.") (ABORT))) (IF (status_option target SO_GMINVISIBLE) (ABORT)) (IF (status_option caster SO_GMHIDE) (ABORT)) (IF (!= (substr (location caster) 2 5) "009-7") (BLOCK (message caster "You need to be in the fight club to challenge someone to a duel.") (ABORT))) (IF (!= (substr (location target) 2 5) "009-7") (BLOCK (message caster "This player is not in the fight club at the moment.") (ABORT))) (IF (> (script_int target "@Duels_Off") 0) (BLOCK (message caster "This player is automatically ignoring incoming duel requests.") (ABORT))) (IF (> (script_int caster "$@Duel_Queue_ID[($@Duel_QueueLimit)]") 0) (BLOCK (message caster (+ (+ "There is already " (script_int caster "$@Duel_QueueLimit")) " duel(s) in the queue, which is the maximum.")) (ABORT))) (IF (> (script_int target "@Duel_Queue[($@Duel_PlayerQueueLimit)]") 0) (BLOCK (message caster (+ (+ "There is already " (script_int caster "$@Duel_PlayerQueueLimit")) " duel request(s) in the queue of this player, which is the maximum.")) (ABORT))) (SET script_target target) (SCRIPT "{callfunc \"fightclub_sendrequest\";}")))) (SPELL (NONMAGIC SILENT) marriage "marry" (PC target) (=> (GUARD (REQUIRE (|| (is_in (location caster) (@+ (@ "014-1.gat" 28 39) 8 6)) (is_in (location caster) (@+ (@ "021-2.gat" 20 25) 4 4))))) (EFFECT (IF (== target caster) (ABORT)) "no valid target or tried to marry self?" (IF (< (level caster) MIN_MARRY_LEVEL) (BLOCK (message caster (+ (+ "You must be level " MIN_MARRY_LEVEL) " or higher to marry!")) (ABORT))) (IF (< (level target) MIN_MARRY_LEVEL) (BLOCK (message caster (+ (+ "Your partner must be level " MIN_MARRY_LEVEL) " or higher to marry!")) (ABORT))) (IF (== (partner caster) target) (BLOCK (message caster (+ (+ "You and " (name_of target)) " are already married.")) (ABORT))) (IF (is_married caster) (BLOCK (message caster "You are already married!") (ABORT))) (IF (is_married target) (BLOCK (message caster (+ (name_of target) " is already married.")) (ABORT))) (IF (!= (distance (location caster) (location target)) 1) (BLOCK (message caster "You need to stand next to each other.") (ABORT))) (IF (|| (== (count_item caster "WeddingRing") 0) (== (count_item target "WeddingRing") 0)) (BLOCK (message caster "You must both be wearing your wedding rings!") (ABORT))) (SET script_target target) (SCRIPT "{ announce @caster_name$ + \" is asking \" + strcharinfo(0) + \" for marriage.\", 2; mes @caster_name$ + \" wishes to marry you.\"; mes \"Do you accept?\"; next; menu \"Yes, I do!\", L_yes, \"No.\", L_Close; L_yes: if (marriage(@caster_name$)) announce @caster_name$ + \" and \" + strcharinfo(0) + \" are now married!\", 0; goto L_Close; L_Close: close; }") (IF (not (is_married caster)) (message caster (+ (name_of target) " turned down your marriage offer.")))))) (SPELL (LOCAL) mouboo-groan "#g" () (=> (GUARD (MANA 1) (REQUIRE (== (name_of caster) "MOUBOOTAUR"))) (EFFECT (FOREACH PC p (rbox (location caster) 200) (SET distance (rdistance (location caster) (location p)))) (IF (< distance 15) (message p "The moubootaur's groaning rings in your ears!") (IF (< distance 70) (message p "You hear a loud groaning noise, not far away...") (message p "You hear an odd groaning noise in the distance...")))))) (SPELL (LOCAL) mouboo-smell "#s" () (=> (GUARD (MANA 1) (REQUIRE (== (name_of caster) "MOUBOOTAUR"))) (EFFECT (WAIT 30000) (FOREACH PC p (rbox (location caster) 30) (message p "You notice a strange smell all around you."))))) "--------------------------------------------------------------------------------" "Kill the GM event spell" "--------------------------------------------------------------------------------" (SPELL (NONMAGIC) killgm0 "#pullrabbit" () (=> (REQUIRE (is_equipped caster "MagicGMTopHat")) (EFFECT (SCRIPT "{ callfunc \"ActivateMagicGMTophat\"; }"))))