mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
[MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158) * Defines damage flags. (Hopefully without 50+ commits) Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
This commit is contained in:
co-authored by
TemporalOroboros
parent
a6c3cbb8e3
commit
3bd294f26f
@@ -1,10 +1,10 @@
|
||||
/obj/item/ammo_casing/energy
|
||||
name = "energy weapon lens"
|
||||
desc = "The part of the gun that makes the laser go pew."
|
||||
caliber = "energy"
|
||||
caliber = ENERGY
|
||||
projectile_type = /obj/projectile/energy
|
||||
var/e_cost = 100 //The amount of energy a cell needs to expend to create this shot.
|
||||
var/select_name = "energy"
|
||||
var/select_name = ENERGY
|
||||
fire_sound = 'sound/weapons/laser.ogg'
|
||||
firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy
|
||||
heavy_metal = FALSE
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
icon_state = null
|
||||
damage = 40
|
||||
damage_type = BRUTE
|
||||
flag = "bomb"
|
||||
flag = BOMB
|
||||
range = 3
|
||||
log_override = TRUE
|
||||
|
||||
|
||||
@@ -412,7 +412,7 @@
|
||||
hitsound = 'sound/effects/explosion3.ogg'
|
||||
damage = 0 //Handled manually.
|
||||
damage_type = BURN
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
range = 150
|
||||
jitter = 10
|
||||
var/obj/item/gun/energy/beam_rifle/gun
|
||||
@@ -447,7 +447,7 @@
|
||||
new /obj/effect/hotspot(T)
|
||||
for(var/obj/O in range(aoe_structure_range, epicenter))
|
||||
if(!isitem(O))
|
||||
O.take_damage(aoe_structure_damage * get_damage_coeff(O), BURN, "laser", FALSE)
|
||||
O.take_damage(aoe_structure_damage * get_damage_coeff(O), BURN, LASER, FALSE)
|
||||
|
||||
/obj/projectile/beam/beam_rifle/proc/check_pierce(atom/target)
|
||||
if(!do_pierce)
|
||||
@@ -469,7 +469,7 @@
|
||||
if(structure_pierce < structure_pierce_amount)
|
||||
if(isobj(AM))
|
||||
var/obj/O = AM
|
||||
O.take_damage((impact_structure_damage + aoe_structure_damage) * structure_bleed_coeff * get_damage_coeff(AM), BURN, "energy", FALSE)
|
||||
O.take_damage((impact_structure_damage + aoe_structure_damage) * structure_bleed_coeff * get_damage_coeff(AM), BURN, ENERGY, FALSE)
|
||||
pierced[AM] = TRUE
|
||||
structure_pierce++
|
||||
return TRUE
|
||||
@@ -485,7 +485,7 @@
|
||||
/obj/projectile/beam/beam_rifle/proc/handle_impact(atom/target)
|
||||
if(isobj(target))
|
||||
var/obj/O = target
|
||||
O.take_damage(impact_structure_damage * get_damage_coeff(target), BURN, "laser", FALSE)
|
||||
O.take_damage(impact_structure_damage * get_damage_coeff(target), BURN, LASER, FALSE)
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
L.adjustFireLoss(impact_direct_damage)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
var/damage = 10
|
||||
var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here
|
||||
var/nodamage = FALSE //Determines if the projectile will skip any damage inflictions
|
||||
var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb
|
||||
var/flag = BULLET //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb
|
||||
///How much armor this projectile pierces.
|
||||
var/armour_penetration = 0
|
||||
var/projectile_type = /obj/projectile
|
||||
@@ -385,10 +385,10 @@
|
||||
return FALSE
|
||||
|
||||
/obj/projectile/proc/check_ricochet_flag(atom/A)
|
||||
if((flag in list("energy", "laser")) && (A.flags_ricochet & RICOCHET_SHINY))
|
||||
if((flag in list(ENERGY, LASER)) && (A.flags_ricochet & RICOCHET_SHINY))
|
||||
return TRUE
|
||||
|
||||
if((flag in list("bomb", "bullet")) && (A.flags_ricochet & RICOCHET_HARD))
|
||||
if((flag in list(BOMB, BULLET)) && (A.flags_ricochet & RICOCHET_HARD))
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
damage_type = BURN
|
||||
hitsound = 'sound/weapons/sear.ogg'
|
||||
hitsound_wall = 'sound/weapons/effects/searwall.ogg'
|
||||
flag = "laser"
|
||||
flag = LASER
|
||||
eyeblur = 2
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser
|
||||
light_system = MOVABLE_LIGHT
|
||||
@@ -73,7 +73,7 @@
|
||||
/obj/projectile/beam/xray
|
||||
name = "\improper X-ray beam"
|
||||
icon_state = "xray"
|
||||
flag = "rad"
|
||||
flag = RAD
|
||||
damage = 15
|
||||
irradiate = 300
|
||||
range = 15
|
||||
@@ -90,7 +90,7 @@
|
||||
icon_state = "omnilaser"
|
||||
damage = 30
|
||||
damage_type = STAMINA
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
hitsound = 'sound/weapons/tap.ogg'
|
||||
eyeblur = 0
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser
|
||||
@@ -150,7 +150,7 @@
|
||||
hitsound = null
|
||||
damage = 0
|
||||
damage_type = STAMINA
|
||||
flag = "laser"
|
||||
flag = LASER
|
||||
var/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag)
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
@@ -217,7 +217,7 @@
|
||||
hitsound = 'sound/weapons/shrink_hit.ogg'
|
||||
damage = 0
|
||||
damage_type = STAMINA
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/shrink
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
var/shrink_time = 90
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 60
|
||||
damage_type = BRUTE
|
||||
nodamage = FALSE
|
||||
flag = "bullet"
|
||||
flag = BULLET
|
||||
hitsound_wall = "ricochet"
|
||||
sharpness = SHARP_POINTY
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/projectile/bullet/p50/on_hit(atom/target, blocked = 0)
|
||||
if(isobj(target) && (blocked != 100) && breakthings)
|
||||
var/obj/O = target
|
||||
O.take_damage(80, BRUTE, "bullet", FALSE)
|
||||
O.take_damage(80, BRUTE, BULLET, FALSE)
|
||||
return ..()
|
||||
|
||||
/obj/projectile/bullet/p50/soporific
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
icon_state = "spark"
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
reflectable = REFLECT_NORMAL
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/energy
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "nuclear particle"
|
||||
icon_state = "nuclear_particle"
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
flag = "rad"
|
||||
flag = RAD
|
||||
irradiate = 5000
|
||||
speed = 0.4
|
||||
hitsound = 'sound/weapons/emitter2.ogg'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
damage_type = OXY
|
||||
nodamage = TRUE
|
||||
armour_penetration = 100
|
||||
flag = "magic"
|
||||
flag = MAGIC
|
||||
|
||||
/obj/projectile/magic/death
|
||||
name = "bolt of death"
|
||||
@@ -352,7 +352,7 @@
|
||||
icon_state = "lavastaff"
|
||||
damage = 15
|
||||
damage_type = BURN
|
||||
flag = "magic"
|
||||
flag = MAGIC
|
||||
dismemberment = 50
|
||||
nodamage = FALSE
|
||||
|
||||
@@ -372,7 +372,7 @@
|
||||
damage_type = BURN
|
||||
nodamage = FALSE
|
||||
armour_penetration = 0
|
||||
flag = "magic"
|
||||
flag = MAGIC
|
||||
hitsound = 'sound/weapons/barragespellhit.ogg'
|
||||
|
||||
/obj/projectile/magic/arcane_barrage/on_hit(target)
|
||||
@@ -389,7 +389,7 @@
|
||||
name = "locker bolt"
|
||||
icon_state = "locker"
|
||||
nodamage = TRUE
|
||||
flag = "magic"
|
||||
flag = MAGIC
|
||||
var/weld = TRUE
|
||||
var/created = FALSE //prevents creation of more then one locker if it has multiple hits
|
||||
var/locker_suck = TRUE
|
||||
@@ -627,7 +627,7 @@
|
||||
damage_type = BURN
|
||||
nodamage = FALSE
|
||||
speed = 0.3
|
||||
flag = "magic"
|
||||
flag = MAGIC
|
||||
|
||||
var/zap_power = 20000
|
||||
var/zap_range = 15
|
||||
@@ -706,7 +706,7 @@
|
||||
nodamage = FALSE
|
||||
armour_penetration = 100
|
||||
temperature = -200 // Cools you down greatly per hit
|
||||
flag = "magic"
|
||||
flag = MAGIC
|
||||
|
||||
/obj/projectile/magic/nothing
|
||||
name = "bolt of nothing"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = TRUE
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
|
||||
/obj/projectile/energy/florayield
|
||||
name = "beta somatoray"
|
||||
@@ -12,7 +12,7 @@
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = TRUE
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
|
||||
/obj/projectile/energy/florarevolution
|
||||
name = "gamma somatoray"
|
||||
@@ -20,4 +20,4 @@
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = TRUE
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
nodamage = TRUE
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/ion
|
||||
var/emp_radius = 1
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
damage = 0
|
||||
damage_type = BRUTE
|
||||
nodamage = TRUE
|
||||
flag = "bullet"
|
||||
flag = BULLET
|
||||
|
||||
/obj/projectile/meteor/Bump(atom/A)
|
||||
if(A == firer)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
damage_type = TOX
|
||||
nodamage = FALSE
|
||||
paralyze = 100
|
||||
flag = "bio"
|
||||
flag = BIO
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/neurotoxin
|
||||
|
||||
/obj/projectile/neurotoxin/on_hit(atom/target, blocked = FALSE)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
nodamage = FALSE
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
var/temperature = -50 // reduce the body temperature by 50 points
|
||||
|
||||
/obj/projectile/temp/on_hit(atom/target, blocked = 0)
|
||||
|
||||
Reference in New Issue
Block a user