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
+47
View File
@@ -6,6 +6,7 @@
#define MODE_OPERATIVE 5
#define MODE_CREW 6
#define MODE_DET 7
#define MODE_TENDRIL 8
#define SETTING_DISK 0
#define SETTING_LOCATION 1
#define SETTING_OBJECT 2
@@ -87,6 +88,8 @@
return "You point the pinpointer to the nearest operative."
if(MODE_CREW)
return "You turn on the pinpointer."
if(MODE_TENDRIL)
return "High energy scanner active"
/obj/item/pinpointer/proc/activate_mode(mode, mob/user) //for crew pinpointer
return
@@ -459,6 +462,49 @@
var/turf/there = get_turf(H)
return istype(there) && istype(here) && there.z == here.z
/obj/item/pinpointer/tendril
name = "ancient scanning unit"
desc = "Convenient that the scanning unit for the robot survived. Seems to point to the tendrils around here."
icon_state = "pinoff_ancient"
icon_off = "pinoff_ancient"
icon_null = "pinonnull_ancient"
icon_direct = "pinondirect_ancient"
icon_close = "pinonclose_ancient"
icon_medium = "pinonmedium_ancient"
icon_far = "pinonfar_ancient"
modes = list(MODE_TENDRIL)
var/obj/structure/spawner/lavaland/target
/obj/item/pinpointer/tendril/process()
if(mode == MODE_TENDRIL)
worktendril()
point_at(target, FALSE)
else
icon_state = icon_off
/obj/item/pinpointer/tendril/proc/worktendril()
if(mode == MODE_TENDRIL)
scan_for_tendrils()
point_at(target)
else
return FALSE
/obj/item/pinpointer/tendril/proc/scan_for_tendrils()
if(mode == MODE_TENDRIL)
target = null //Resets nearest_op every time it scans
var/closest_distance = 1000
for(var/obj/structure/spawner/lavaland/T in GLOB.tendrils)
var/temp_distance = get_dist(T, get_turf(src))
if(temp_distance < closest_distance)
target = T
closest_distance = temp_distance
/obj/item/pinpointer/tendril/examine(mob/user)
. = ..()
if(mode == MODE_TENDRIL)
. += "Number of high energy signatures remaining: [length(GLOB.tendrils)]"
#undef MODE_OFF
#undef MODE_DISK
#undef MODE_NUKE
@@ -466,6 +512,7 @@
#undef MODE_SHIP
#undef MODE_OPERATIVE
#undef MODE_CREW
#undef MODE_TENDRIL
#undef SETTING_DISK
#undef SETTING_LOCATION
#undef SETTING_OBJECT