diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index b7581898850..b605d407206 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -139,129 +139,4 @@ 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!" - U << "[A.name]! I choose 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 23ee7ecb8c3..009ab5b5edf 100644 Binary files a/icons/obj/wizard.dmi and b/icons/obj/wizard.dmi differ