Explosive Lattice complete.

This commit is contained in:
Mechoid
2020-04-03 21:10:55 -07:00
parent 48c54fc43b
commit 55d52ca127
7 changed files with 49 additions and 1 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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"