mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-28 10:21:35 +00:00
REVIEW IT REVIEW IT NOW
This commit is contained in:
@@ -315,21 +315,25 @@
|
||||
D.pixel_x = target.pixel_x
|
||||
D.pixel_y = target.pixel_y
|
||||
if(do_mob(src, target, 100))
|
||||
src << "<span class='info'>Dismantling complete.</span>"
|
||||
var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(target.loc)
|
||||
M.amount = 5
|
||||
if(target.component_parts && target.component_parts.len)
|
||||
for(var/obj/item/I in target.component_parts)
|
||||
I.forceMove(M.loc)
|
||||
var/obj/effect/swarmer/disintegration/N = new /obj/effect/swarmer/disintegration(get_turf(target))
|
||||
N.pixel_x = target.pixel_x
|
||||
N.pixel_y = target.pixel_y
|
||||
target.dropContents()
|
||||
if(istype(target, /obj/machinery/computer))
|
||||
var/obj/machinery/computer/C = target
|
||||
if(C.circuit)
|
||||
new C.circuit(get_turf(M))
|
||||
qdel(target)
|
||||
if(!src.Adjacent(target))
|
||||
src << "<span class='info'>Error:Dismantleing aborted.</span>"
|
||||
else
|
||||
src << "<span class='info'>Dismantling complete.</span>"
|
||||
var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(target.loc)
|
||||
M.amount = 5
|
||||
if(target.component_parts && target.component_parts.len)
|
||||
for(var/obj/item/I in target.component_parts)
|
||||
I.forceMove(M.loc)
|
||||
var/obj/effect/swarmer/disintegration/N = new /obj/effect/swarmer/disintegration(get_turf(target))
|
||||
N.pixel_x = target.pixel_x
|
||||
N.pixel_y = target.pixel_y
|
||||
target.dropContents()
|
||||
if(istype(target, /obj/machinery/computer))
|
||||
var/obj/machinery/computer/C = target
|
||||
if(C.circuit)
|
||||
new C.circuit(get_turf(M))
|
||||
qdel(target)
|
||||
|
||||
|
||||
|
||||
/obj/effect/swarmer //Default swarmer effect object visual feedback
|
||||
|
||||
@@ -166,6 +166,33 @@
|
||||
src << "<span class='boldannounce'><i>[src]:</i> [input]</span>"
|
||||
log_say("[src.real_name]/[src.key] : [text]")
|
||||
|
||||
/mob/living/proc/guardian_recall()
|
||||
set name = "Recall Guardian"
|
||||
set category = "Guardian"
|
||||
set desc = "Forcibly recall your guardian."
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in mob_list)
|
||||
if(G.summoner == src)
|
||||
G.Recall()
|
||||
|
||||
/mob/living/proc/guardian_reset()
|
||||
set name = "Reset Guardian Player (One Use)"
|
||||
set category = "Guardian"
|
||||
set desc = "Re-rolls which ghost will control your Guardian. One use."
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in mob_list)
|
||||
if(G.summoner == src)
|
||||
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as [G.real_name]?", "pAI", null, FALSE, 100)
|
||||
var/mob/dead/observer/new_stand = null
|
||||
if(candidates.len)
|
||||
new_stand = pick(candidates)
|
||||
G << "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance."
|
||||
src << "Your guardian has been successfully reset."
|
||||
message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(G)])")
|
||||
G.ghostize()
|
||||
G.key = new_stand.key
|
||||
src.verbs -= /mob/living/proc/guardian_reset
|
||||
else
|
||||
src << "There were no ghosts willing to take control. Looks like you're stuck with your Guardian for now."
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/proc/ToggleLight()
|
||||
if(!luminosity)
|
||||
@@ -575,7 +602,7 @@
|
||||
var/ling_failure = "The deck refuses to respond to a souless creature such as you."
|
||||
var/list/possible_guardians = list("Chaos", "Standard", "Ranged", "Support", "Explosive")
|
||||
var/random = TRUE
|
||||
var/adminSeal = FALSE
|
||||
var/adminseal = FALSE
|
||||
|
||||
/obj/item/weapon/guardiancreator/attack_self(mob/living/user)
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in living_mob_list)
|
||||
@@ -605,7 +632,7 @@
|
||||
var/gaurdiantype = "Standard"
|
||||
if(random)
|
||||
gaurdiantype = pick(possible_guardians)
|
||||
if(adminSeal)
|
||||
if(adminseal)
|
||||
gaurdiantype = pick("StandardSeal","SupportSeal")
|
||||
else
|
||||
gaurdiantype = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in possible_guardians
|
||||
@@ -642,6 +669,9 @@
|
||||
G << "While personally invincible, you will die if [user.real_name] does, and any damage dealt to you will have a portion passed on to them as you feed upon them to sustain yourself."
|
||||
G << "[G.playstyle_string]"
|
||||
user.verbs += /mob/living/proc/guardian_comm
|
||||
if(!adminseal)
|
||||
user.verbs += /mob/living/proc/guardian_recall
|
||||
user.verbs += /mob/living/proc/guardian_reset
|
||||
switch (theme)
|
||||
if("magic")
|
||||
G.name = "[mob_name]"
|
||||
@@ -720,7 +750,23 @@
|
||||
use_message = "URK!"
|
||||
used_message = "arf?"
|
||||
failure_message = "<B>...</B>"
|
||||
adminSeal = TRUE
|
||||
adminseal = TRUE
|
||||
|
||||
|
||||
/obj/item/weapon/guardiancreator/adminbus/attack_self(mob/living/user)
|
||||
|
||||
var/list/targets = list()
|
||||
var/target = null
|
||||
targets += getmobs() //Fill list, prompt user with list
|
||||
target = input("Select a Player to guard!", "Player list", null, null) as null|anything in targets
|
||||
|
||||
if(!target) return
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(H.mind )
|
||||
spawn_guardian(H,user.key)
|
||||
else
|
||||
user << "Target has no mind. Aborting."
|
||||
|
||||
|
||||
/obj/item/weapon/paper/guardian
|
||||
name = "Holoparasite Guide"
|
||||
@@ -838,7 +884,6 @@
|
||||
var/mob/living/simple_animal/hostile/guardian/G = usr
|
||||
G.Communicate()
|
||||
|
||||
|
||||
/obj/screen/guardian/ToggleLight
|
||||
icon_state = "light"
|
||||
name = "Toggle Light"
|
||||
|
||||
Reference in New Issue
Block a user