mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-17 21:52:42 +00:00
Explosive Lattice complete.
This commit is contained in:
@@ -719,6 +719,13 @@
|
|||||||
|
|
||||||
exploding = FALSE
|
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.
|
// A blob that slips and drowns you.
|
||||||
/datum/blob_type/pressurized_slime
|
/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_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/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/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)
|
/datum/modifier/New(var/new_holder, var/new_origin)
|
||||||
holder = new_holder
|
holder = new_holder
|
||||||
|
|||||||
@@ -360,6 +360,18 @@ the artifact triggers the rage.
|
|||||||
|
|
||||||
emp_modifier = 5
|
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.
|
// Kills on expiration.
|
||||||
/datum/modifier/doomed
|
/datum/modifier/doomed
|
||||||
name = "Doomed"
|
name = "Doomed"
|
||||||
|
|||||||
@@ -100,6 +100,15 @@
|
|||||||
if(!blinded)
|
if(!blinded)
|
||||||
flash_eyes()
|
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/shielded = 0
|
||||||
var/b_loss = null
|
var/b_loss = null
|
||||||
var/f_loss = null
|
var/f_loss = null
|
||||||
|
|||||||
@@ -305,6 +305,15 @@
|
|||||||
if(!blinded)
|
if(!blinded)
|
||||||
flash_eyes()
|
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)
|
switch(severity)
|
||||||
if(1.0)
|
if(1.0)
|
||||||
if (stat != 2)
|
if (stat != 2)
|
||||||
|
|||||||
@@ -96,6 +96,16 @@
|
|||||||
/mob/living/simple_mob/ex_act(severity)
|
/mob/living/simple_mob/ex_act(severity)
|
||||||
if(!blinded)
|
if(!blinded)
|
||||||
flash_eyes()
|
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/armor = run_armor_check(def_zone = null, attack_flag = "bomb")
|
||||||
var/bombdam = 500
|
var/bombdam = 500
|
||||||
switch (severity)
|
switch (severity)
|
||||||
|
|||||||
@@ -2867,7 +2867,7 @@
|
|||||||
#include "code\ZAS\Zone.dm"
|
#include "code\ZAS\Zone.dm"
|
||||||
#include "interface\interface.dm"
|
#include "interface\interface.dm"
|
||||||
#include "interface\skin.dmf"
|
#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\space_submaps\space.dm"
|
||||||
#include "maps\submaps\surface_submaps\mountains\mountains.dm"
|
#include "maps\submaps\surface_submaps\mountains\mountains.dm"
|
||||||
#include "maps\submaps\surface_submaps\mountains\mountains_areas.dm"
|
#include "maps\submaps\surface_submaps\mountains\mountains_areas.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user