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:
Neerti
2019-01-10 17:17:43 -05:00
committed by Anewbe
parent 11ff7b1ca3
commit afa149ca2f
40 changed files with 980 additions and 125 deletions
+1
View File
@@ -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
+7
View File
@@ -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)
+4
View File
@@ -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)
+24 -12
View File
@@ -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
/*