mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-17 05:31:53 +00:00
Explosive Lattice complete.
This commit is contained in:
@@ -719,6 +719,13 @@
|
||||
|
||||
exploding = FALSE
|
||||
|
||||
/datum/blob_type/explosive_lattice/on_chunk_tick(obj/item/weapon/blobcore_chunk/B)
|
||||
var/turf/T = get_turf(B)
|
||||
if(!T)
|
||||
return
|
||||
|
||||
for(var/mob/living/L in view(1, T))
|
||||
L.add_modifier(/datum/modifier/blastshield, 30 SECONDS)
|
||||
|
||||
// A blob that slips and drowns you.
|
||||
/datum/blob_type/pressurized_slime
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
var/pulse_modifier // Modifier for pulse, will be rounded on application, then added to the normal 'pulse' multiplier which ranges between 0 and 5 normally. Only applied if they're living.
|
||||
var/pulse_set_level // Positive number. If this is non-null, it will hard-set the pulse level to this. Pulse ranges from 0 to 5 normally.
|
||||
var/emp_modifier // Added to the EMP strength, which is an inverse scale from 1 to 4, with 1 being the strongest EMP. 5 is a nullification.
|
||||
var/explosion_modifier // Added to the bomb strength, which is an inverse scale from 1 to 3, with 1 being gibstrength. 4 is a nullification.
|
||||
|
||||
/datum/modifier/New(var/new_holder, var/new_origin)
|
||||
holder = new_holder
|
||||
|
||||
@@ -360,6 +360,18 @@ the artifact triggers the rage.
|
||||
|
||||
emp_modifier = 5
|
||||
|
||||
// Nullifies explosions.
|
||||
/datum/modifier/blastshield
|
||||
name = "Blast Shielding"
|
||||
desc = "You are protected from explosions somehow."
|
||||
mob_overlay_state = "electricity"
|
||||
|
||||
on_created_text = "<span class='notice'>You feel a surge of energy, that fades to a stalwart hum.</span>"
|
||||
on_expired_text = "<span class='warning'>You feel a longing for the flow of energy.</span>"
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
explosion_modifier = 3
|
||||
|
||||
// Kills on expiration.
|
||||
/datum/modifier/doomed
|
||||
name = "Doomed"
|
||||
|
||||
@@ -100,6 +100,15 @@
|
||||
if(!blinded)
|
||||
flash_eyes()
|
||||
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
if(!isnull(M.explosion_modifier))
|
||||
severity = CLAMP(severity + M.explosion_modifier, 1, 4)
|
||||
|
||||
severity = round(severity)
|
||||
|
||||
if(severity > 3)
|
||||
return
|
||||
|
||||
var/shielded = 0
|
||||
var/b_loss = null
|
||||
var/f_loss = null
|
||||
|
||||
@@ -305,6 +305,15 @@
|
||||
if(!blinded)
|
||||
flash_eyes()
|
||||
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
if(!isnull(M.explosion_modifier))
|
||||
severity = CLAMP(severity + M.explosion_modifier, 1, 4)
|
||||
|
||||
severity = round(severity)
|
||||
|
||||
if(severity > 3)
|
||||
return
|
||||
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
if (stat != 2)
|
||||
|
||||
@@ -96,6 +96,16 @@
|
||||
/mob/living/simple_mob/ex_act(severity)
|
||||
if(!blinded)
|
||||
flash_eyes()
|
||||
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
if(!isnull(M.explosion_modifier))
|
||||
severity = CLAMP(severity + M.explosion_modifier, 1, 4)
|
||||
|
||||
severity = round(severity)
|
||||
|
||||
if(severity > 3)
|
||||
return
|
||||
|
||||
var/armor = run_armor_check(def_zone = null, attack_flag = "bomb")
|
||||
var/bombdam = 500
|
||||
switch (severity)
|
||||
|
||||
@@ -2867,7 +2867,7 @@
|
||||
#include "code\ZAS\Zone.dm"
|
||||
#include "interface\interface.dm"
|
||||
#include "interface\skin.dmf"
|
||||
#include "maps\example\example.dm"
|
||||
#include "maps\southern_cross\southern_cross.dm"
|
||||
#include "maps\submaps\space_submaps\space.dm"
|
||||
#include "maps\submaps\surface_submaps\mountains\mountains.dm"
|
||||
#include "maps\submaps\surface_submaps\mountains\mountains_areas.dm"
|
||||
|
||||
Reference in New Issue
Block a user