Merge pull request #13381 from Anonus/spritefix

Gives artificers feedback when healing other constructs plus a few sprite fixes
This commit is contained in:
Jordie
2015-12-03 14:20:58 +11:00
5 changed files with 35 additions and 40 deletions
@@ -14,6 +14,9 @@
stop_automated_movement = 1
status_flags = CANPUSH
attack_sound = 'sound/weapons/punch1.ogg'
environment_smash = 1
see_in_dark = 7
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = INFINITY
@@ -22,7 +25,7 @@
flying = 1
unique_name = 1
var/list/construct_spells = list()
var/playstyle_string = "<B>You are a generic construct! Your job is to not exist.</B>"
var/playstyle_string = "<b>You are a generic construct! Your job is to not exist.</b>"
/mob/living/simple_animal/construct/New()
@@ -39,13 +42,13 @@
return
/mob/living/simple_animal/construct/examine(mob/user)
var/msg = "<span cass='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
var/msg = "<span cass='info'>*---------*\nThis is \icon[src] \a <b>[src]</b>!\n"
if (src.health < src.maxHealth)
msg += "<span class='warning'>"
if (src.health >= src.maxHealth/2)
msg += "It looks slightly dented.\n"
else
msg += "<B>It looks severely dented!</B>\n"
msg += "<b>It looks severely dented!</b>\n"
msg += "</span>"
msg += "*---------*</span>"
@@ -53,28 +56,32 @@
/mob/living/simple_animal/construct/attack_animal(mob/living/simple_animal/M)
if(istype(M, /mob/living/simple_animal/construct/builder))
adjustBruteLoss(-5)
if(src != M)
Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
M.emote("me", 1, "repairs some of \the <EM>[src]'s</EM> dents.")
if(health < maxHealth)
adjustBruteLoss(-5)
if(src != M)
Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
M.visible_message("<span class='danger'>[M] repairs some of \the <b>[src]'s</b> dents.</span>", \
"<span class='cult'>You repair some of <b>[src]'s</b> dents, leaving <b>[src]</b> at [health]/[maxHealth] health.</span>")
else
M.visible_message("<span class='danger'>[M] repairs some of its own dents.</span>", \
"<span class='cult'>You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.</span>")
else
if(src != M)
M << "<span class='cult'>You cannot repair <b>[src]'s</b> dents, as it has none!</span>"
else
M << "<span class='cult'>You cannot repair your own dents, as you have none!</span>"
else if(src != M)
..()
/mob/living/simple_animal/construct/bullet_act(obj/item/projectile/Proj)
if(!Proj)
return
if(Proj.damage_type == BURN || Proj.damage_type == BRUTE)
adjustBruteLoss(Proj.damage)
Proj.on_hit(src)
return 0
/mob/living/simple_animal/construct/Process_Spacemove(movement_dir = 0)
return 1
/mob/living/simple_animal/construct/narsie_act()
return
/////////////////Juggernaut///////////////
/mob/living/simple_animal/construct/armored
name = "Juggernaut"
real_name = "Juggernaut"
@@ -95,17 +102,16 @@
mob_size = MOB_SIZE_LARGE
force_threshold = 11
construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall)
playstyle_string = "<B>You are a Juggernaut. Though slow, your shell can withstand extreme punishment, \
create shield walls, rip apart enemies and walls alike, and even deflect energy weapons.</B>"
playstyle_string = "<b>You are a Juggernaut. Though slow, your shell can withstand extreme punishment, \
create shield walls, rip apart enemies and walls alike, and even deflect energy weapons.</b>"
/mob/living/simple_animal/construct/armored/bullet_act(obj/item/projectile/P)
if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))
var/reflectchance = 80 - round(P.damage/3)
if(prob(reflectchance))
if(P.damage_type == BURN || P.damage_type == BRUTE)
adjustBruteLoss(P.damage * 0.5)
visible_message("<span class='danger'>The [P.name] gets reflected by [src]'s shell!</span>", \
"<span class='userdanger'>The [P.name] gets reflected by [src]'s shell!</span>")
apply_damage(P.damage * 0.5, P.damage_type)
visible_message("<span class='danger'>The [P.name] is reflected by [src]'s armored shell!</span>", \
"<span class='userdanger'>The [P.name] is reflected by your armored shell!</span>")
// Find a turf near or on the original location to bounce to
if(P.starting)
@@ -128,9 +134,6 @@
////////////////////////Wraith/////////////////////////////////////////////
/mob/living/simple_animal/construct/wraith
name = "Wraith"
real_name = "Wraith"
@@ -142,16 +145,13 @@
melee_damage_lower = 25
melee_damage_upper = 25
attacktext = "slashes"
speed = 0
see_in_dark = 7
attack_sound = 'sound/weapons/bladeslice.ogg'
construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift)
playstyle_string = "<B>You are a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.</B>"
playstyle_string = "<b>You are a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.</b>"
/////////////////////////////Artificer/////////////////////////
/mob/living/simple_animal/construct/builder
name = "Artificer"
real_name = "Artificer"
@@ -165,7 +165,6 @@
melee_damage_lower = 5
melee_damage_upper = 5
attacktext = "rams"
speed = 0
environment_smash = 2
attack_sound = 'sound/weapons/punch2.ogg'
construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall,
@@ -173,13 +172,14 @@
/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone,
/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser,
/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser)
playstyle_string = "<B>You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, \
playstyle_string = "<b>You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, \
use magic missile, repair allied constructs (by clicking on them), \
</B><I>and most important of all create new constructs</I><B> \
(Use your Artificer spell to summon a new construct shell and Summon Soulstone to create a new soulstone).</B>"
<i>and, most important of all,</i> create new constructs by producing soulstones to capture souls, \
and shells to place those soulstones into.</b>"
/////////////////////////////Harvester/////////////////////////
/mob/living/simple_animal/construct/harvester
name = "Harvester"
real_name = "Harvester"
@@ -191,13 +191,8 @@
melee_damage_lower = 1
melee_damage_upper = 5
attacktext = "prods"
speed = 0
environment_smash = 1
see_in_dark = 7
attack_sound = 'sound/weapons/tap.ogg'
construct_spells = list(/obj/effect/proc_holder/spell/targeted/smoke/disable)
playstyle_string = "<B>You are a Harvester. You are not strong, but your powers of domination will assist you in your role: \
Bring those who still cling to this world of illusion back to the Geometer so they may know Truth.</B>"
/mob/living/simple_animal/construct/harvester/Process_Spacemove(movement_dir = 0)
return 1