Ports the radiation subsystem and cleans up damage flags. (#15715)

This commit is contained in:
Matt Atlas
2023-02-07 13:22:47 +01:00
committed by GitHub
parent 5527fc0810
commit 31c73ead85
198 changed files with 981 additions and 649 deletions
@@ -2,7 +2,7 @@
name = "bolt of animation"
icon_state = "ice_1"
damage = 0
damage_type = BURN
damage_type = DAMAGE_BURN
nodamage = 1
check_armor = "energy"
+10 -10
View File
@@ -4,11 +4,11 @@
ping_effect = "ping_s"
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSRAILING
damage = 30
damage_type = BURN
damage_type = DAMAGE_BURN
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_LASER_MEAT, BULLET_IMPACT_METAL = SOUNDS_LASER_METAL)
check_armor = "laser"
eyeblur = 4
damage_flags = DAM_LASER
damage_flags = DAMAGE_FLAG_LASER
var/frequency = 1
hitscan = 1
invisibility = 101 //beam projectiles are invisible as they are rendered by the effect engine
@@ -20,7 +20,7 @@
/obj/item/projectile/beam/practice
name = "laser"
damage = 5
damage_type = PAIN
damage_type = DAMAGE_PAIN
eyeblur = 0
/obj/item/projectile/beam/pistol
@@ -143,7 +143,7 @@
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSRAILING
damage = 0
no_attack_log = 1
damage_type = BURN
damage_type = DAMAGE_BURN
check_armor = "laser"
var/laser_tag_color = "red"
@@ -198,7 +198,7 @@
sharp = FALSE
eyeblur = 1
agony = 45
damage_type = BURN
damage_type = DAMAGE_BURN
muzzle_type = /obj/effect/projectile/muzzle/stun
tracer_type = /obj/effect/projectile/tracer/stun
@@ -219,7 +219,7 @@
name = "electrical arc"
icon_state = "stun"
damage = 1
damage_type = BURN
damage_type = DAMAGE_BURN
muzzle_type = /obj/effect/projectile/muzzle/stun
tracer_type = /obj/effect/projectile/tracer/stun
@@ -268,7 +268,7 @@
name = "diffuse electrical arc"
nodamage = FALSE
damage_type = BURN
damage_type = DAMAGE_BURN
damage = 15
agony = 30
@@ -414,7 +414,7 @@
name = "energy net projection"
icon_state = "xray"
nodamage = 1
damage_type = PAIN
damage_type = DAMAGE_PAIN
muzzle_type = /obj/effect/projectile/muzzle/xray
tracer_type = /obj/effect/projectile/tracer/xray
@@ -447,7 +447,7 @@
name = "tesla bolt"
icon_state = "lightning"
damage = 10
damage_type = BURN
damage_type = DAMAGE_BURN
pass_flags = PASSTABLE | PASSGRILLE | PASSRAILING
range = 40
eyeblur = 0
@@ -475,7 +475,7 @@
icon_state = "bluelaser"
pass_flags = PASSTABLE | PASSRAILING
damage = 15
damage_type = BURN
damage_type = DAMAGE_BURN
check_armor = "energy"
muzzle_type = /obj/effect/projectile/muzzle/laser/blue
@@ -2,7 +2,7 @@
name = "bullet"
icon_state = "bullet"
damage = 60
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_BULLET_MEAT, BULLET_IMPACT_METAL = SOUNDS_BULLET_METAL)
nodamage = FALSE
check_armor = "bullet"
@@ -277,7 +277,7 @@
weaken = 0
drowsy = 0
eyeblur = 0
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
speed = 0.3
/obj/item/projectile/bullet/rifle/tranq/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null)
@@ -301,7 +301,7 @@
if(isanimal(target))
target.visible_message("<b>[target]</b> twitches, foaming at the mouth.")
L.apply_damage(35, TOX) //temporary until simple_animal paralysis actually works.
L.apply_damage(35, DAMAGE_TOXIN) //temporary until simple_animal paralysis actually works.
..()
/* Miscellaneous */
@@ -328,7 +328,7 @@
/obj/item/projectile/bullet/pistol/cap
name = "cap"
damage_type = PAIN
damage_type = DAMAGE_PAIN
damage = 0
nodamage = 1
embed = 0
@@ -343,7 +343,7 @@
icon = 'icons/obj/terminator.dmi'
icon_state = "flechette_bullet"
damage = 40
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
check_armor = "bullet"
embed = 1
sharp = 1
@@ -414,7 +414,7 @@
var/turf/T = get_turf(mob)
if(T && (loc.z == T.z))
if(ishuman(mob))
mob.apply_damage(250, IRRADIATE, damage_flags = DAM_DISPERSED)
mob.apply_damage(250, DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
new /obj/effect/temp_visual/nuke(A.loc)
explosion(A,2,5,9)
..()
@@ -2,7 +2,7 @@
name = "bolt of change"
icon_state = "ice_1"
damage = 0
damage_type = BURN
damage_type = DAMAGE_BURN
nodamage = 1
check_armor = "energy"
+15 -15
View File
@@ -2,7 +2,7 @@
name = "energy"
icon_state = "spark"
damage = 0
damage_type = BURN
damage_type = DAMAGE_BURN
check_armor = "energy"
//releases a burst of light on impact or after travelling a distance
@@ -47,7 +47,7 @@
name = "electrode"
icon_state = "spark"
damage = 2 //Flavor.
damage_type = BURN
damage_type = DAMAGE_BURN
agony = 40
eyeblur = 1
//Damage will be handled on the MOB side, to prevent window shattering.
@@ -61,35 +61,35 @@
name = "decloner beam"
icon_state = "declone"
damage = 20
damage_type = CLONE
damage_type = DAMAGE_CLONE
irradiate = 40
/obj/item/projectile/energy/dart
name = "dart"
icon_state = "toxin"
damage = 5
damage_type = TOX
damage_type = DAMAGE_TOXIN
weaken = 5
/obj/item/projectile/energy/bolt
name = "bolt"
icon_state = "cbbolt"
damage = 1
damage_type = BURN
damage_type = DAMAGE_BURN
agony = 45
stutter = 10
/obj/item/projectile/energy/bolt/large
name = "largebolt"
damage = 2
damage_type = BURN
damage_type = DAMAGE_BURN
agony = 60
/obj/item/projectile/energy/neurotoxin
name = "neuro"
icon_state = "neurotoxin"
damage = 5
damage_type = TOX
damage_type = DAMAGE_TOXIN
weaken = 5
/obj/item/projectile/energy/phoron
@@ -103,7 +103,7 @@
icon_state = "bfg"
check_armor = "bomb"
damage = 60
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSRAILING
range = 100
embed = 0
@@ -131,7 +131,7 @@
if(M.stat == DEAD)
M.gib()
else
M.apply_damage(60, BRUTE, BP_HEAD)
M.apply_damage(60, DAMAGE_BRUTE, BP_HEAD)
playsound(src, 'sound/magic/LightningShock.ogg', 75, 1)
else if(isturf(a) || isobj(a))
var/atom/A = a
@@ -145,7 +145,7 @@
icon = 'icons/obj/projectiles.dmi'
icon_state = "bluespace"
damage = 0
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
pass_flags = PASSTABLE | PASSGRILLE | PASSRAILING
range = 10
embed = 0
@@ -172,8 +172,8 @@
icon_state = "heavybolt"
damage = 30
check_armor = "laser"
damage_type = BURN
damage_flags = DAM_LASER
damage_type = DAMAGE_BURN
damage_flags = DAMAGE_FLAG_LASER
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSRAILING
muzzle_type = /obj/effect/projectile/muzzle/bolt
hit_effect = /obj/effect/temp_visual/blaster_effect
@@ -184,7 +184,7 @@
/obj/item/projectile/energy/blaster/disruptor/practice
damage = 5
damage_type = PAIN
damage_type = DAMAGE_PAIN
eyeblur = 0
/obj/item/projectile/energy/disruptorstun
@@ -193,14 +193,14 @@
damage = 1
agony = 40
speed = 0.4
damage_type = BURN
damage_type = DAMAGE_BURN
eyeblur = TRUE
pass_flags = PASSTABLE | PASSRAILING
muzzle_type = /obj/effect/projectile/muzzle/bolt
/obj/item/projectile/energy/disruptorstun/practice
damage = 5
damage_type = PAIN
damage_type = DAMAGE_PAIN
eyeblur = 0
/obj/item/projectile/energy/blaster/heavy
+14 -14
View File
@@ -2,7 +2,7 @@
name = "ion bolt"
icon_state = "ion"
damage = 0
damage_type = BURN
damage_type = DAMAGE_BURN
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_ION_ANY, BULLET_IMPACT_METAL = SOUNDS_ION_ANY)
check_armor = "energy"
var/pulse_range = 1
@@ -90,7 +90,7 @@
name = "freeze beam"
icon_state = "ice_2"
damage = 0
damage_type = BURN
damage_type = DAMAGE_BURN
nodamage = 1
check_armor = "energy"
//var/temperature = 300
@@ -107,7 +107,7 @@
icon = 'icons/obj/meteor.dmi'
icon_state = "small1"
damage = 0
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
nodamage = 1
check_armor = "bullet"
@@ -136,7 +136,7 @@
name = "alpha somatoray"
icon_state = "energy"
damage = 0
damage_type = TOX
damage_type = DAMAGE_TOXIN
nodamage = 1
check_armor = "energy"
@@ -144,7 +144,7 @@
name = "gamma somatoray"
icon_state = "energy2"
damage = 0
damage_type = TOX
damage_type = DAMAGE_TOXIN
nodamage = TRUE
var/singleton/plantgene/gene = null
@@ -154,7 +154,7 @@
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
if(prob(15))
H.apply_damage(rand(30,80), IRRADIATE, damage_flags = DAM_DISPERSED)
H.apply_damage(rand(30,80), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
M.Weaken(5)
for (var/mob/V in viewers(src))
V.show_message("<span class='warning'>[M] writhes in pain as [M.get_pronoun("his")] vacuoles boil.</span>", 3, "<span class='warning'>You hear the crunching of leaves.</span>", 2)
@@ -177,7 +177,7 @@
name = "beta somatoray"
icon_state = "energy2"
damage = 0
damage_type = TOX
damage_type = DAMAGE_TOXIN
nodamage = 1
check_armor = "energy"
@@ -220,7 +220,7 @@
damage = 1 // stop trying to murderbone with a fake gun dumbass!!!
embed = 0 // nope
nodamage = 1
damage_type = PAIN
damage_type = DAMAGE_PAIN
muzzle_type = /obj/effect/projectile/muzzle/bullet
/obj/item/projectile/bullet/cannon
@@ -244,13 +244,13 @@
damage = 0
check_armor = "energy"
embed = 0
damage_type = PAIN
damage_type = DAMAGE_PAIN
/obj/item/projectile/magic/fireball
name = "fireball"
icon_state = "fireball"
damage = 20
damage_type = BURN
damage_type = DAMAGE_BURN
/obj/item/projectile/magic/fireball/on_impact(var/atom/A)
explosion(A, 0, 0, 4)
@@ -277,8 +277,8 @@
name = "plasma slug"
icon_state = "plasma_bolt"
damage = 20
damage_type = BRUTE
damage_flags = DAM_LASER
damage_type = DAMAGE_BRUTE
damage_flags = DAMAGE_FLAG_LASER
check_armor = "energy"
incinerate = 10
armor_penetration = 60
@@ -308,14 +308,14 @@
name ="ice bolt"
icon_state= "icer_bolt"
damage = 15
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
check_armor = "energy"
/obj/item/projectile/bonedart
name = "bone dart"
icon_state = "bonedart"
damage = 35
damage_type = BRUTE
damage_type = DAMAGE_BRUTE
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_BULLET_MEAT, BULLET_IMPACT_METAL = SOUNDS_BULLET_METAL)
nodamage = FALSE
check_armor = "melee"