From 300f16cd65faec192a884e7ddfc7b359798fc018 Mon Sep 17 00:00:00 2001 From: "heisen51@gmail.com" Date: Thu, 29 Dec 2011 09:11:02 +0000 Subject: [PATCH] Added pokeballs. Sadly, adminspawn-only for now. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2855 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/wizard/soulstone.dm | 124 ++++++++++++++++++++++++ icons/obj/wizard.dmi | Bin 7389 -> 8184 bytes 2 files changed, 124 insertions(+) diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index b605d40720..d98de4f498 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -139,4 +139,128 @@ C.icon_state = "soulstone2" T << "Your soul has been recaptured by the soul stone, it's arcane energies reknitting your ethereal form" U << "\blue Capture successful!: \black [T.name]'s has been recaptured and stored within the soul stone." + return + + +/obj/item/device/soulstone/pokeball + name = "Pokeball" + icon_state = "pokeball" + desc = "Gotta catch 'em all!" + + attack(mob/living/carbon/human/M as mob, mob/user as mob) + if(!istype(M, /mob/living/carbon/human))//If target is not a human. + return ..() + M.attack_log += text("\[[time_stamp()]\] Has had their soul captured with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to capture the soul of [M.name] ([M.ckey])") + + transfer_pokemon("VICTIM", M, user) + return + + attack_self(mob/user) + if (!in_range(src, user)) + return + user.machine = src + var/dat = "Pokeball
" + for(var/mob/living/simple_animal/shade/A in src) + dat += "Pokemon: [A.name]
" + dat += {"Choose Pokemon"} + dat += "
" + dat += {" Close"} + user << browse(dat, "window=aicard") + onclose(user, "aicard") + return + + Topic(href, href_list) + var/mob/U = usr + if (!in_range(src, U)||U.machine!=src) + U << browse(null, "window=aicard") + U.machine = null + return + + add_fingerprint(U) + U.machine = src + + switch(href_list["choice"])//Now we switch based on choice. + if ("Close") + U << browse(null, "window=aicard") + U.machine = null + return + + if ("Summon") + for(var/mob/living/simple_animal/shade/A in src) + A.nodamage = 0 + A.canmove = 1 + A << "[U.name] has chosen you!" + A.loc = U.loc + A.cancel_camera() + src.icon_state = "pokeball" + attack_self(U) + + + + +////////////////////////////Proc for moving soul in and out off stone////////////////////////////////////// + + +/obj/item/proc/transfer_pokemon(var/choice as text, var/target, var/mob/U as mob). + switch(choice) + if("VICTIM") + var/mob/living/carbon/human/T = target + var/obj/item/device/soulstone/C = src + if(C.imprinted != "empty") + U << "\red Darn! Capture failed!: \black The pokeball already contains [C.imprinted]!" + else + if (T.stat == 0) + U << "\red Darn! Capture failed!: \black The pokemon is too strong!" + else + if(T.client == null) + U << "\red Darn! Capture failed!: \black The pokemon has already fainted!" + else + if(C.contents.len) + U << "\red Darn! Capture failed!: \black The pokeball is full! Use or free an existing pokemon to make room." + else + for(var/obj/item/W in T) + T.drop_from_slot(W) + new /obj/effect/decal/remains/human(T.loc) //Spawns a skeleton + T.invisibility = 101 + var/atom/movable/overlay/animation = new /atom/movable/overlay( T.loc ) + animation.icon_state = "blank" + animation.icon = 'mob.dmi' + animation.master = T + flick("dust-h", animation) + del(animation) + var/mob/living/simple_animal/shade/S = new /mob/living/simple_animal/shade( T.loc ) + S.loc = C //put shade in stone + S.nodamage = 1 //So they won't die inside the stone somehow + S.canmove = 0//Can't move out of the soul stone + S.name = "Shade of [T.name]" + if (T.client) + T.client.mob = S + S.cancel_camera() + C.icon_state = "pokeball2" + C.name = "Pokeball: [S.name]" + S << "You have been captured! [U.name] is now your trainer!" + U << "\blue Alright!: \black [T.name] was caught!" + S << "The pokeball now contains [S.name], it will no longer react to other pokemon." + C.imprinted = "[S.name]" + del T + if("SHADE") + var/mob/living/simple_animal/shade/T = target + var/obj/item/device/soulstone/C = src + if (T.alive == 0) + U << "\red Darn! Capture failed!: \black The pokemon has already fainted!" + else + if(C.contents.len) + U << "\red Darn! Capture failed!: \black The pokeball is full! Use or free an existing pokemon to make room." + else + if(T.name != C.imprinted) + U << "\red Darn! Capture failed!: \black The pokeball already contains [C.imprinted]!" + else + T.loc = C //put shade in stone + T.nodamage = 1 + T.canmove = 0 + T.health = T.max_health + C.icon_state = "pokeball2" + T << "[T.name]! That's enough! You return to the pokeball." + U << "\blue [T.name]! That's enough!: \black [T.name] has been recaptured and stored within the pokeball." return \ No newline at end of file diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi index 009ab5b5edf84a460dd40db3af6560a68d4fcd66..23ee7ecb8c330b7ac87fb878766a00896d3e8656 100644 GIT binary patch literal 8184 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 TpymMhe