mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-19 03:06:26 +01:00
Exosuit Expansion: Return of the Ripley (#6767)
* Expands further upon Exosuits. * FixFix Inflatable Deployer * Changelog, fix oversights. * Burst. * Default 0
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// Ignition, but confined to the modifier system.
|
||||
// This makes it more predictable and thus, easier to balance.
|
||||
/datum/modifier/fire
|
||||
name = "on fire"
|
||||
desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water."
|
||||
mob_overlay_state = "on_fire"
|
||||
|
||||
on_created_text = "<span class='danger'>You burst into flames!</span>"
|
||||
on_expired_text = "<span class='warning'>The fire starts to fade.</span>"
|
||||
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)
|
||||
|
||||
/*
|
||||
* Modifier used by projectiles, like the flamethrower, that rely heavily on fire_stacks to persist.
|
||||
*/
|
||||
|
||||
/datum/modifier/fire/stack_managed/tick()
|
||||
..()
|
||||
|
||||
if(!holder.fire_stacks || holder.fire_stacks < 0)
|
||||
if(prob(10))
|
||||
expire()
|
||||
|
||||
else if(holder.fire_stacks > 0)
|
||||
holder.fire_stacks -= 1
|
||||
|
||||
/datum/modifier/fire/stack_managed/intense
|
||||
mob_overlay_state = "on_fire_intense"
|
||||
damage_per_tick = 10
|
||||
@@ -224,28 +224,6 @@ the artifact triggers the rage.
|
||||
|
||||
accuracy_dispersion = 2 // A combination of fear and immense pain or damage reults in a twitching firing arm. Flee.
|
||||
|
||||
|
||||
|
||||
// Ignition, but confined to the modifier system.
|
||||
// This makes it more predictable and thus, easier to balance.
|
||||
/datum/modifier/fire
|
||||
name = "on fire"
|
||||
desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water."
|
||||
mob_overlay_state = "on_fire"
|
||||
|
||||
on_created_text = "<span class='danger'>You combust into flames!</span>"
|
||||
on_expired_text = "<span class='warning'>The fire starts to fade.</span>"
|
||||
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)
|
||||
|
||||
|
||||
// Applied when near something very cold.
|
||||
// Reduces mobility, attack speed.
|
||||
/datum/modifier/chilled
|
||||
|
||||
@@ -109,5 +109,9 @@
|
||||
if(drowsy) apply_effect(drowsy, DROWSY, blocked)
|
||||
if(agony) apply_effect(agony, AGONY, blocked)
|
||||
if(flammable) adjust_fire_stacks(flammable)
|
||||
if(ignite) IgniteMob()
|
||||
if(ignite)
|
||||
if(ignite >= 3)
|
||||
add_modifier(/datum/modifier/fire/stack_managed/intense, 60 SECONDS)
|
||||
else
|
||||
add_modifier(/datum/modifier/fire/stack_managed, 45 * ignite SECONDS)
|
||||
return 1
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
var/projectile_type = /obj/item/projectile
|
||||
var/penetrating = 0 //If greater than zero, the projectile will pass through dense objects as specified by on_penetrate()
|
||||
//Effects
|
||||
var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 maybe later for burst of fire around the impact point. - Mech
|
||||
var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 for intense fire. - Mech
|
||||
var/flammability = 0 //Amount of fire stacks to add for the above.
|
||||
var/combustion = TRUE //Does this set off flammable objects on fire/hit?
|
||||
var/stun = 0
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
icon_state = "bullet_alt"
|
||||
damage = 15
|
||||
damage_type = BURN
|
||||
incendiary = 1
|
||||
incendiary = 0.5
|
||||
flammability = 2
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/flamethrower
|
||||
@@ -261,7 +261,9 @@
|
||||
vacuum_traversal = 0
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/flamethrower/large
|
||||
damage = 15
|
||||
damage = 5
|
||||
incendiary = 3
|
||||
flammability = 2
|
||||
range = 6
|
||||
|
||||
/* Practice rounds and blanks */
|
||||
|
||||
@@ -680,6 +680,46 @@
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/prybar
|
||||
|
||||
/datum/design/item/mecha/powercutters
|
||||
name = "hydraulic cable cutter"
|
||||
desc = "A large, hydraulic cablecutter."
|
||||
id = "mech_wirecutter"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter
|
||||
|
||||
/datum/design/item/mecha/powerscrewdriver
|
||||
name = "hydraulic screwdriver"
|
||||
desc = "A large, hydraulic screwdriver."
|
||||
id = "mech_screwdriver"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver
|
||||
|
||||
/datum/design/item/mecha/powerwelder
|
||||
name = "welding laser"
|
||||
desc = "A large welding laser."
|
||||
id = "mech_welder"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_PHORON = 3000, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/welding
|
||||
|
||||
/datum/design/item/mecha/inflatables
|
||||
name = "inflatables deployer"
|
||||
desc = "A large pneumatic inflatable deployer."
|
||||
id = "mech_inflatables"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTIC = 4000, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables
|
||||
|
||||
/datum/design/item/mecha/hardpoint_clamp
|
||||
name = "hardpoint actuator"
|
||||
desc = "A complex device used to commandeer equipment from the ground."
|
||||
id = "mech_hardpoint_clamp"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_POWER = 5, TECH_COMBAT = 2, TECH_MAGNET = 4)
|
||||
materials = list(MAT_PLASTEEL = 2500, MAT_PLASTIC = 3000, MAT_OSMIUM = 1500, MAT_SILVER = 2000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/hardpoint_actuator
|
||||
|
||||
/datum/design/item/mecha/generator_nuclear
|
||||
name = "Nuclear Reactor"
|
||||
desc = "Exosuit-held nuclear reactor. Converts uranium and everyone's health to energy."
|
||||
|
||||
Reference in New Issue
Block a user