From dd7da2140b6027bc3879093f03cbe743e290692e Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Fri, 7 Jun 2019 02:33:08 +0200 Subject: [PATCH] Die of Fate fixes --- code/game/gamemodes/wizard/spellbook.dm | 2 +- .../effects/effect_system/effects_smoke.dm | 6 ---- .../awaymissions/mission_code/academy.dm | 28 +++++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index b12b28709f6..6f96d4c22e2 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -915,4 +915,4 @@ var/static/banned_spells = list(/obj/item/spellbook/oneuse/mime, /obj/item/spellbook/oneuse/mime/fingergun, /obj/item/spellbook/oneuse/mime/fingergun/fake, /obj/item/spellbook/oneuse/mime/greaterwall) var/real_type = pick(subtypesof(/obj/item/spellbook/oneuse) - banned_spells) new real_type(loc) - return INITIALIZE_HINT_QDEL \ No newline at end of file + qdel(src) \ No newline at end of file diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 8e7ff018a32..0eed8fcba00 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -208,9 +208,3 @@ /datum/effect_system/smoke_spread/sleeping effect_type = /obj/effect/particle_effect/smoke/sleeping - -/proc/do_smoke(range=0, location=null, smoke_type = /obj/effect/particle_effect/smoke) - var/datum/effect_system/smoke_spread/smoke = new - smoke.effect_type = smoke_type - smoke.set_up(range, location) - smoke.start() diff --git a/code/modules/awaymissions/mission_code/academy.dm b/code/modules/awaymissions/mission_code/academy.dm index 86e5dd045a0..d15b3e3075d 100644 --- a/code/modules/awaymissions/mission_code/academy.dm +++ b/code/modules/awaymissions/mission_code/academy.dm @@ -87,7 +87,12 @@ /obj/item/dice/d20/fate/equipped(mob/user, slot) if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards)) to_chat(user, "You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.") - forceMove(get_turf(user)) + user.unEquip(src) + +/obj/item/dice/d20/fate/proc/create_smoke(amount) + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(amount, 0, drop_location()) + smoke.start() /obj/item/dice/d20/fate/proc/effect(var/mob/living/carbon/human/user, roll) var/turf/T = get_turf(src) @@ -109,7 +114,7 @@ //Destroy Equipment T.visible_message("Everything [user] is holding and wearing disappears!") for(var/obj/item/I in user) - if(istype(I, /obj/item/implant)) + if(istype(I, /obj/item/implant) || istype(I, /obj/item/organ)) continue qdel(I) if(5) @@ -124,7 +129,7 @@ if(7) //Throw T.visible_message("Unseen forces throw [user]!") - user.Stun(60) + user.Stun(6) user.adjustBruteLoss(50) var/throw_dir = cardinal var/atom/throw_target = get_edge_target_turf(user, throw_dir) @@ -145,12 +150,12 @@ //Cookie T.visible_message("A cookie appears out of thin air!") var/obj/item/reagent_containers/food/snacks/cookie/C = new(drop_location()) - do_smoke(0, drop_location()) + create_smoke(2) C.name = "Cookie of Fate" if(12) //Healing T.visible_message("[user] looks very healthy!") - user.revive(full_heal = 1, admin_revive = 1) + user.revive() if(13) //Mad Dosh T.visible_message("Mad dosh shoots out of [src]!") @@ -166,24 +171,24 @@ if(14) //Free Gun T.visible_message("An impressive gun appears!") - do_smoke(0, drop_location()) + create_smoke(2) new /obj/item/gun/projectile/revolver/mateba(drop_location()) if(15) //Random One-use spellbook T.visible_message("A magical looking book drops to the floor!") - do_smoke(0, drop_location()) + create_smoke(2) new /obj/item/spellbook/oneuse/random(drop_location()) if(16) //Servant & Servant Summon T.visible_message("A Dice Servant appears in a cloud of smoke!") var/mob/living/carbon/human/H = new(drop_location()) - do_smoke(0, drop_location()) + create_smoke(2) H.equipOutfit(/datum/outfit/butler) var/datum/mind/servant_mind = new /datum/mind() var/datum/objective/O = new O.owner = servant_mind - O.target = H.mind + O.target = user.mind O.explanation_text = "Serve [user.real_name]." servant_mind.objectives += O servant_mind.transfer_to(H) @@ -193,6 +198,7 @@ var/mob/dead/observer/C = pick(candidates) message_admins("[ADMIN_LOOKUPFLW(C)] was spawned as Dice Servant") H.key = C.key + to_chat(H, "You are a servant of [user.real_name]. You must do everything in your power to follow their orders.") var/obj/effect/proc_holder/spell/targeted/summonmob/S = new S.target_mob = H @@ -202,12 +208,12 @@ //Tator Kit T.visible_message("A suspicious box appears!") new /obj/item/storage/box/syndicate(drop_location()) - do_smoke(0, drop_location()) + create_smoke(2) if(18) //Captain ID T.visible_message("A golden identification card appears!") new /obj/item/card/id/captains_spare(drop_location()) - do_smoke(0, drop_location()) + create_smoke(2) if(19) //Instrinct Resistance T.visible_message("[user] looks very robust!")