Adds a new mecha-fauna to lavaland. Ready to TM (#17999)

* pain

* more progress

* progress continues

* more progress™️

* saving progress while I swap brances

* leg moving working for real, woo

* more saving as power goes out

* eeven more

* fix transfer

* More changes, closer to pr ready

* final stuff for night backup

* almost done™️

* almost done

* Final changes to get ready for posting

* Update code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* new sprite

* Loot added (minus crusher loot)

* Apply suggestions from code review

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* Defines, loot, and requested changes, oh my!

* Apply suggestions from code review

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* sound, bluespace charge improvements, more text

* Update code/game/gamemodes/nuclear/pinpointer.dm

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* WOOO CRUSHER ITEM

* don't code when dead tired kids

* Update code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* Makes crusher loot work, reworks shield for mecha fauna

* Names it, lets it spawn, buffs it, should be ready.

* Adds better sprites.

* pick to rand

* Buff, prevent cheese.

* Merge conflict hook test

* double checking to see if I installed it or not, think I need to manual

* fixes the merge issue

* makes gibtonite not yeet the mechafauna as much.

* fixes hostile/hostile fuckup

* fix most beam issues

* extra qdel insurance but it should be good

* fixes chasm issues, beep on self destruct, extra bluspace charge

* Shrinks the kaboom.

* spelling + beam fix

* Apply suggestions from code review

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>

* late_initialize, var names, and styling, oh my!

* attacl

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2022-07-15 10:28:07 -04:00
committed by GitHub
parent 813e88a8cb
commit acc48358b4
18 changed files with 908 additions and 3 deletions

View File

@@ -26,6 +26,7 @@
var/backstab_bonus = 30
var/light_on = FALSE
var/brightness_on = 5
var/adaptive_damage_bonus = 0
/obj/item/twohanded/kinetic_crusher/Destroy()
QDEL_LIST(trophies)
@@ -68,7 +69,16 @@
if(!C)
C = target.apply_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING)
var/target_health = target.health
var/temp_force_bonus = 0
var/datum/status_effect/adaptive_learning/A = target.has_status_effect(STATUS_EFFECT_ADAPTIVELEARNING)
if(!A && adaptive_damage_bonus)
A = target.apply_status_effect(STATUS_EFFECT_ADAPTIVELEARNING)
if(A)
temp_force_bonus = A.bonus_damage
A.bonus_damage = min((A.bonus_damage + adaptive_damage_bonus), 20)
force += temp_force_bonus
..()
force -= temp_force_bonus
for(var/t in trophies)
if(!QDELETED(target))
var/obj/item/crusher_trophy/T = t
@@ -445,3 +455,23 @@
/obj/effect/temp_visual/hierophant/wall/crusher
duration = 75
/obj/item/crusher_trophy/adaptive_intelligence_core
name = "adaptive inteligence core"
desc = "Seems to be one of the cores from a massive robot. Suitable as a trophy for a kinetic crusher."
icon_state = "adaptive_core"
denied_type = /obj/item/crusher_trophy/adaptive_intelligence_core
bonus_value = 2
/obj/item/crusher_trophy/adaptive_intelligence_core/effect_desc()
return "melee hits deal <b>[bonus_value]</b> more damage per hit after hitting a target, up to <b>[bonus_value * 10]</b> extra damage to that target"
/obj/item/crusher_trophy/adaptive_intelligence_core/add_to(obj/item/twohanded/kinetic_crusher/H, mob/living/user)
. = ..()
if(.)
H.adaptive_damage_bonus += bonus_value
/obj/item/crusher_trophy/adaptive_intelligence_core/remove_from(obj/item/twohanded/kinetic_crusher/H, mob/living/user)
. = ..()
if(.)
H.adaptive_damage_bonus -= bonus_value

View File

@@ -0,0 +1,38 @@
/obj/structure/closet/crate/necropolis/ancient
name = "ancient supply cache"
/obj/structure/closet/crate/necropolis/ancient/populate_contents()
new /obj/item/pinpointer/tendril(src) // in pinpointers, with the rest of them
var/list/common_ore = list(
/obj/item/stack/ore/uranium,
/obj/item/stack/ore/silver,
/obj/item/stack/ore/gold,
/obj/item/stack/ore/plasma,
/obj/item/stack/ore/titanium
)
for(var/res in common_ore)
var/obj/item/stack/R = new res(src)
R.amount = rand(15, 30)
var/list/rare_ore = list(
/obj/item/stack/ore/diamond,
/obj/item/stack/ore/bluespace_crystal,
/obj/item/stack/sheet/mineral/abductor // few ruins of it often spawn, should be fine.
)
for(var/res in rare_ore)
var/obj/item/stack/R = new res(src)
R.amount = rand(10, 15) //ash drakes drop 5, this is perfectly fine
/obj/structure/closet/crate/necropolis/ancient/ex_act(severity)
return
/obj/structure/closet/crate/necropolis/ancient/crusher
name = "alloyed ancient supply cache"
/obj/structure/closet/crate/necropolis/ancient/crusher/populate_contents()
. = ..()
new /obj/item/crusher_trophy/adaptive_intelligence_core(src)