Medibeam and Guardian Fixes

This commit is contained in:
Fox-McCloud
2015-12-24 11:28:40 -05:00
parent 7449cde946
commit 7ef528dcdc
3 changed files with 16 additions and 18 deletions
@@ -9,6 +9,7 @@
icon = 'icons/mob/mob.dmi'
icon_state = "stand"
icon_living = "stand"
icon_dead = "stand"
speed = 0
a_intent = I_HARM
stop_automated_movement = 1
@@ -69,6 +70,10 @@
visible_message("<span class='danger'>The [src] jumps back to its user.</span>")
Recall()
/mob/living/simple_animal/hostile/guardian/death()
..()
summoner << "<span class='danger'><B>Your [name] died somehow!</span></B>"
summoner.death()
/mob/living/simple_animal/hostile/guardian/adjustBruteLoss(amount) //The spirit is invincible, but passes on damage to the summoner
var/damage = amount * damage_transfer
@@ -172,6 +177,8 @@
set name = "Reset Guardian Player (One Use)"
set category = "Guardian"
set desc = "Re-rolls which ghost will control your Guardian. One use."
src.verbs -= /mob/living/proc/guardian_reset
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)
@@ -181,11 +188,11 @@
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.ghostize(0)
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."
verbs += /mob/living/proc/guardian_reset
/mob/living/simple_animal/hostile/guardian/proc/ToggleLight()
@@ -677,6 +684,7 @@
G << "You are capable of manifesting or recalling to your master with verbs in the Guardian tab. You will also find a verb to communicate with them privately there."
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]"
G.faction = user.faction
user.verbs += /mob/living/proc/guardian_comm
user.verbs += /mob/living/proc/guardian_recall
user.verbs += /mob/living/proc/guardian_reset
@@ -692,6 +700,7 @@
G.real_name = "[mob_name] [capitalize(colour)]"
G.icon_living = "parasite[colour]"
G.icon_state = "parasite[colour]"
G.icon_dead = "parasite[colour]"
G.animated_manifest = TRUE
user << "[G.tech_fluff_string]."
G.speak_emote = list("states")
+5 -16
View File
@@ -31,36 +31,25 @@
if(active)
qdel(current_beam)
active = 0
on_beam_relase(current_target)
on_beam_release(current_target)
current_target = null
/obj/item/weapon/gun/medbeam/Fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, params)
add_fingerprint(user)
if(!isliving(target))
return
if(current_target)
LoseTarget()
if(!isliving(target))
return
current_target = target
active = 1
current_beam = new(user,current_target,time=6000)
current_beam = new(user,current_target,time=6000,beam_icon_state="medbeam",btype=/obj/effect/ebeam/medical)
spawn(0)
current_beam.Start()
feedback_add_details("gun_fired","[src.type]")
/obj/item/weapon/gun/medbeam/afterattack(obj/target, mob/user, proximity)
if(target.loc == loc || target == user)
return
if(!current_target && isliving(target))
current_target = target
active = 1
current_beam = new(user,current_target,time=6000)
spawn(0)
current_beam.Start()
/obj/item/weapon/gun/medbeam/process()
var/mob/living/carbon/human/H = loc
if(!istype(H))
@@ -120,7 +109,7 @@
E.perma_injury = 0
return
/obj/item/weapon/gun/medbeam/proc/on_beam_relase(var/mob/living/target)
/obj/item/weapon/gun/medbeam/proc/on_beam_release(var/mob/living/target)
return
/obj/effect/ebeam/medical
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB