mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Merge pull request #13381 from Anonus/spritefix
Gives artificers feedback when healing other constructs plus a few sprite fixes
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user