mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-22 04:36:53 +01:00
Adds New PoI Features + Bonus PoI (#5796)
* Adds cliffs. * Finishes lava and polishes the other things. * Hopefully finished with all the new shinies.
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/effect/map_effect/interval/effect_emitter/proc/configure_effects()
|
||||
effect_system.set_up(effect_amount, effect_cardinals_only, usr.loc, effect_forced_dir)
|
||||
effect_system.set_up(effect_amount, effect_cardinals_only, src.loc, effect_forced_dir)
|
||||
|
||||
/obj/effect/map_effect/interval/effect_emitter/trigger()
|
||||
configure_effects() // We do this every interval in case it changes.
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
spawn(retry_delay) // Maybe someday we'll have fancy TG timers/schedulers.
|
||||
if(!QDELETED(src))
|
||||
.()
|
||||
return
|
||||
|
||||
var/next_interval = rand(interval_lower_bound, interval_upper_bound)
|
||||
spawn(next_interval)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
var/mineitemtype = /obj/item/weapon/mine
|
||||
var/panel_open = 0
|
||||
var/datum/wires/mines/wires = null
|
||||
register_as_dangerous_object = TRUE
|
||||
|
||||
/obj/effect/mine/New()
|
||||
icon_state = "uglyminearmed"
|
||||
@@ -271,4 +272,10 @@
|
||||
/obj/item/weapon/mine/incendiary
|
||||
name = "incendiary mine"
|
||||
desc = "A small explosive mine with a fire symbol on the side."
|
||||
minetype = /obj/effect/mine/incendiary
|
||||
minetype = /obj/effect/mine/incendiary
|
||||
|
||||
// This tells AI mobs to not be dumb and step on mines willingly.
|
||||
/obj/item/weapon/mine/is_safe_to_step(mob/living/L)
|
||||
if(!L.hovering)
|
||||
return FALSE
|
||||
return ..()
|
||||
@@ -3,7 +3,8 @@
|
||||
/obj/effect/step_trigger
|
||||
var/affect_ghosts = 0
|
||||
var/stopper = 1 // stops throwers
|
||||
invisibility = 101 // nope cant see this shit
|
||||
invisibility = 99 // nope cant see this shit
|
||||
plane = ABOVE_PLANE
|
||||
anchored = 1
|
||||
|
||||
/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A)
|
||||
@@ -93,21 +94,56 @@
|
||||
var/teleport_y = 0
|
||||
var/teleport_z = 0
|
||||
|
||||
Trigger(var/atom/movable/A)
|
||||
if(teleport_x && teleport_y && teleport_z)
|
||||
var/turf/T = locate(teleport_x, teleport_y, teleport_z)
|
||||
if(isliving(A))
|
||||
var/mob/living/L = A
|
||||
if(L.pulling)
|
||||
var/atom/movable/P = L.pulling
|
||||
L.stop_pulling()
|
||||
P.forceMove(T)
|
||||
L.forceMove(T)
|
||||
L.start_pulling(P)
|
||||
else
|
||||
A.forceMove(T)
|
||||
else
|
||||
A.forceMove(T)
|
||||
/obj/effect/step_trigger/teleporter/Trigger(atom/movable/AM)
|
||||
if(teleport_x && teleport_y && teleport_z)
|
||||
var/turf/T = locate(teleport_x, teleport_y, teleport_z)
|
||||
move_object(AM, T)
|
||||
|
||||
|
||||
/obj/effect/step_trigger/teleporter/proc/move_object(atom/movable/AM, turf/T)
|
||||
if(AM.anchored)
|
||||
return
|
||||
|
||||
if(isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
if(L.pulling)
|
||||
var/atom/movable/P = L.pulling
|
||||
L.stop_pulling()
|
||||
P.forceMove(T)
|
||||
L.forceMove(T)
|
||||
L.start_pulling(P)
|
||||
else
|
||||
L.forceMove(T)
|
||||
else
|
||||
AM.forceMove(T)
|
||||
|
||||
/* Moves things by an offset, useful for 'Bridges'. Uses dir and a distance var to work with maploader direction changes. */
|
||||
/obj/effect/step_trigger/teleporter/offset
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
icon_state = "arrow"
|
||||
var/distance = 3
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/north
|
||||
dir = NORTH
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/south
|
||||
dir = SOUTH
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/east
|
||||
dir = EAST
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/west
|
||||
dir = WEST
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/Trigger(atom/movable/AM)
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/i = 1 to distance)
|
||||
T = get_step(T, dir)
|
||||
if(!istype(T))
|
||||
return
|
||||
move_object(AM, T)
|
||||
|
||||
|
||||
|
||||
/* Random teleporter, teleports atoms to locations ranging from teleport_x - teleport_x_offset, etc */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user