mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 22:50:26 +01:00
[No GBP] Minor fixes to Haunted Trading Post, Garbage Truck & Lizard Gas (Lavaland) ruins, and MI13 Food Truck (#87026)
Haunted Trading Post - - Shock traps no longer trigger when Syndicate mobs move nearby. This stops patrolling bots wasting the traps' charges. - Employee lounge has had its items rearranged, to prevent the 1-in-8 chance of the shock trap in the room emitting sparks in just the right direction to ignite the fuel tanks. - Dedbots now become sparks and robotic debris when destroyed. - Space outside the map has been replaced with turf passthrough. By default this doesn't change anything, but this stops the map template bringing space tiles with it if it's force loaded on planetary maps. Garbage Trucks - -Space outside the map has been replaced with turf passthrough. Lizard Gas (Lavaland) - - Asphalt turfs in the unroofed parts of the ruins now use planetary atmos. Atmospheric mishaps (ie plasmafloods and fires from broken or sabotaged equipment) will spread in a more intuitive pattern (ie they will bunch up and bubble under the roof, instead of sticking to the road) MI13 Food Truck - - Removed a decal in a wall. - Minor tweak to thruster sprites. ## Why It's Good For The Game These are maintenance fixes on maps I've made. ## Changelog 🆑 balance: [Haunted Trading Post] Explosive trap in Employee's Lounge is now less sensitive. balance: [Haunted Trading Post] Shock traps will no longer be triggered by Syndicate mobs. fix: Dedbots now properly spawn post-death visual effects. fix: [Lizard's Gas (Lavaland)] Atmos outside the gas station has been tweaked, for realism. fix: [MI13 Food Truck] Minor visual fixes. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
@@ -224,7 +224,7 @@
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
icon_state = "empdisable"
|
||||
//trap wont damage mobs in its faction
|
||||
//trap won't damage mobs in its faction. set this to null to make it attack everyone
|
||||
faction = list(ROLE_SYNDICATE)
|
||||
invisibility = INVISIBILITY_ABSTRACT
|
||||
plane = ABOVE_GAME_PLANE
|
||||
@@ -269,35 +269,29 @@
|
||||
if(donk_ai_slave)
|
||||
SSqueuelinks.add_to_queue(src, SELFDESTRUCT_QUEUE)
|
||||
|
||||
/obj/effect/overloader_trap/proc/check_faction(mob/target)
|
||||
for(var/faction1 in faction)
|
||||
if(faction1 in target.faction)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/effect/overloader_trap/HasProximity(mob/living)
|
||||
/obj/effect/overloader_trap/HasProximity(mob/living/target as mob)
|
||||
if(!locate(host_machine) in loc) //muh machine's gone, delete myself because im disarmed
|
||||
qdel(src)
|
||||
return
|
||||
if(!isliving(target))
|
||||
return
|
||||
if(!COOLDOWN_FINISHED(src, trigger_cooldown)) //do nothing if we're on cooldown
|
||||
return
|
||||
if(uses_remaining == 0) //deletes trap if it triggers when it has no uses left. should only happen if var edited but lets just be safe
|
||||
qdel(src)
|
||||
return
|
||||
if (!isliving(living)) //ensure the guy triggering us is alive
|
||||
if (target.stat) //ensure the guy triggering us is alive
|
||||
return
|
||||
if (living.stat && check_faction(living)) //and make sure it ain't someone on our team
|
||||
return
|
||||
COOLDOWN_START(src, trigger_cooldown, 4 SECONDS)
|
||||
trap_alerted()
|
||||
if (!faction_check_atom(target)) //and make sure it ain't someone on our team
|
||||
COOLDOWN_START(src, trigger_cooldown, 4 SECONDS)
|
||||
trap_alerted()
|
||||
|
||||
/obj/effect/overloader_trap/proc/trap_alerted()
|
||||
if(host_machine in loc)
|
||||
if(host_machine in loc) //if someone breaks or moves the machine before the trap goes off, this should fail to do anything
|
||||
visible_message(span_boldwarning("Sparks fly from [host_machine] as it shakes vigorously!"))
|
||||
do_sparks(number = 3, source = host_machine)
|
||||
host_machine.Shake(2, 1, trigger_delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(trap_effect)), trigger_delay)
|
||||
//if someone breaks or moves the machine before the trap goes off, this should fail to do anything
|
||||
|
||||
/obj/effect/overloader_trap/proc/trap_effect()
|
||||
for(var/mob/living/living_mob in range(shock_range, src))
|
||||
|
||||
Reference in New Issue
Block a user