mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-07-13 09:12:44 +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:
@@ -473,6 +473,7 @@
|
||||
|
||||
var/water_speed = 0 //Speed boost/decrease in water, lower/negative values mean more speed
|
||||
var/snow_speed = 0 //Speed boost/decrease on snow, lower/negative values mean more speed
|
||||
var/rock_climbing = FALSE // If true, allows climbing cliffs with clickdrag.
|
||||
|
||||
var/step_volume_mod = 1 //How quiet or loud footsteps in this shoe are
|
||||
|
||||
|
||||
@@ -114,6 +114,13 @@
|
||||
icon_state = "explorer"
|
||||
armor = list(melee = 30, bullet = 10, laser = 10, energy = 15, bomb = 20, bio = 0, rad = 0)
|
||||
|
||||
// Allows the wearer to climb cliffs, which could allow for shortcuts or sequence-breaking.
|
||||
/obj/item/clothing/shoes/boots/winter/climbing
|
||||
name = "climbing winter boots"
|
||||
desc = "A pair of winter boots, with metal bracing attached to assist in climbing rocky terrain."
|
||||
icon_state = "climbing_boots"
|
||||
rock_climbing = TRUE
|
||||
|
||||
/obj/item/clothing/shoes/boots/tactical
|
||||
name = "tactical boots"
|
||||
desc = "Tan boots with extra padding and armor."
|
||||
|
||||
@@ -213,6 +213,10 @@ the artifact triggers the rage.
|
||||
stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot.
|
||||
var/damage_per_tick = 5
|
||||
|
||||
/datum/modifier/fire/intense
|
||||
mob_overlay_state = "on_fire_intense"
|
||||
damage_per_tick = 10
|
||||
|
||||
/datum/modifier/fire/tick()
|
||||
holder.inflict_heat_damage(damage_per_tick)
|
||||
|
||||
|
||||
@@ -452,6 +452,13 @@
|
||||
emp_act(1)
|
||||
to_chat(src, span("critical", "You've been struck by lightning!"))
|
||||
|
||||
// Called when touching a lava tile.
|
||||
// Does roughly 100 damage to unprotected mobs, and 20 to fully protected mobs.
|
||||
/mob/living/lava_act()
|
||||
add_modifier(/datum/modifier/fire/intense, 8 SECONDS) // Around 40 total if left to burn and without fire protection per stack.
|
||||
inflict_heat_damage(40) // Another 40, however this is instantly applied to unprotected mobs.
|
||||
adjustFireLoss(20) // Lava cannot be 100% resisted with fire protection.
|
||||
|
||||
/mob/living/proc/reagent_permeability()
|
||||
return 1
|
||||
return round(FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE*(fire_stacks/FIRE_MAX_FIRESUIT_STACKS)**2)
|
||||
|
||||
@@ -216,6 +216,17 @@
|
||||
ash()
|
||||
return // No point deafening something that wont exist.
|
||||
|
||||
// Lava
|
||||
/mob/living/simple_mob/lava_act()
|
||||
..()
|
||||
// Similar to lightning, the mob is turned to ash if the lava tick was fatal and it isn't a player.
|
||||
// Unlike lightning, we don't add an additional damage spike (since lava already hurts a lot).
|
||||
if(!client)
|
||||
updatehealth()
|
||||
if(health <= 0)
|
||||
visible_message(span("critical", "\The [src] flashes into ash as the lava consumes them!"))
|
||||
ash()
|
||||
|
||||
// Injections.
|
||||
/mob/living/simple_mob/can_inject(mob/user, error_msg, target_zone, ignore_thickness)
|
||||
if(ignore_thickness)
|
||||
|
||||
@@ -164,6 +164,10 @@
|
||||
..()
|
||||
healthcheck()
|
||||
|
||||
/obj/vehicle/proc/adjust_health(amount)
|
||||
health = between(0, health + amount, maxhealth)
|
||||
healthcheck()
|
||||
|
||||
/obj/vehicle/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
|
||||
@@ -3,13 +3,18 @@
|
||||
|
||||
//legacy crystal
|
||||
/obj/machinery/crystal
|
||||
name = "Crystal"
|
||||
name = "crystal"
|
||||
desc = "A shiny looking crystal formation."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "crystal"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/machinery/crystal/New()
|
||||
/obj/machinery/crystal/Initialize()
|
||||
randomize_color()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/crystal/proc/randomize_color()
|
||||
if(prob(30))
|
||||
icon_state = "crystal2"
|
||||
set_light(3, 3, "#CC00CC")
|
||||
@@ -21,18 +26,25 @@
|
||||
desc = "A large crystalline ice formation."
|
||||
icon_state = "icecrystal2"
|
||||
|
||||
/obj/machinery/crystal/ice/New()
|
||||
if(prob(10))
|
||||
icon_state = "crystal"
|
||||
set_light(5, 5, "#33CC33")
|
||||
if(prob(10))
|
||||
icon_state = "crystal2"
|
||||
set_light(5, 5, "#CC00CC")
|
||||
/obj/machinery/crystal/ice/randomize_color()
|
||||
if(prob(30))
|
||||
icon_state = "icecrystal1"
|
||||
set_light(5, 5, "#C4FFFF")
|
||||
else
|
||||
set_light(5, 5, "#C4FFFF")
|
||||
set_light(3, 3, "#C4FFFF")
|
||||
|
||||
/obj/machinery/crystal/lava
|
||||
name = "lava crystal"
|
||||
desc = "A large crystalline formation found near extreme heat."
|
||||
icon_state = "grey_crystal"
|
||||
color = "#FCCF64"
|
||||
|
||||
/obj/machinery/crystal/lava/randomize_color()
|
||||
if(prob(50))
|
||||
icon_state = "grey_crystal2"
|
||||
|
||||
if(prob(30))
|
||||
color = "#E03131"
|
||||
|
||||
set_light(3, 3, color)
|
||||
|
||||
//large finds
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user