mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Projectiles cleaned up a bit and moved into a /modules folder.
Solars should work a bit better now. Removed the old shield item as it has not been used in forever and was cluttering up some of the mob code. IonRifle only has 5 shots before it needs to be reloaded down from 10. Lowered the weakbullet's stun to match the taser. You can no longer recall the shuttle on meteor. Fixed a bug I caused on rev where if the revs were in space and dead it would count them as living. Bit of blob work. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2220 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
53
code/modules/projectiles/projectile/beams.dm
Normal file
53
code/modules/projectiles/projectile/beams.dm
Normal file
@@ -0,0 +1,53 @@
|
||||
/obj/item/projectile/beam
|
||||
name = "laser"
|
||||
icon_state = "laser"
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
damage = 20
|
||||
mobdamage = list(BRUTE = 0, BURN = 20, TOX = 0, OXY = 0, CLONE = 0)
|
||||
flag = "laser"
|
||||
New()
|
||||
..()
|
||||
effects["eyeblur"] = 5
|
||||
effectprob["eyeblur"] = 50
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/beam/pulse
|
||||
name = "pulse"
|
||||
icon_state = "u_laser"
|
||||
damage = 50
|
||||
mobdamage = list(BRUTE = 10, BURN = 40, TOX = 0, OXY = 0, CLONE = 0)
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
icon_state = "heavylaser"
|
||||
damage = 40
|
||||
mobdamage = list(BRUTE = 0, BURN = 40, TOX = 0, OXY = 0, CLONE = 0)
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/beam/deathlaser
|
||||
name = "death laser"
|
||||
icon_state = "heavylaser"
|
||||
damage = 60
|
||||
mobdamage = list(BRUTE = 10, BURN = 60, TOX = 0, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["weak"] = 5
|
||||
effectprob["weak"] = 15
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/beam/fireball
|
||||
name = "shock"
|
||||
icon_state = "fireball"
|
||||
damage = 25
|
||||
mobdamage = list(BRUTE = 0, BURN = 25, TOX = 0, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["stun"] = 10
|
||||
effects["weak"] = 10
|
||||
effectprob["weak"] = 25
|
||||
effects["stutter"] = 10
|
||||
23
code/modules/projectiles/projectile/bio.dm
Normal file
23
code/modules/projectiles/projectile/bio.dm
Normal file
@@ -0,0 +1,23 @@
|
||||
/obj/item/projectile/declone
|
||||
name = "declown"
|
||||
icon_state = "declone"
|
||||
damage = 0
|
||||
mobdamage = list(BRUTE = 0, BURN = 0, TOX = 0, OXY = 0, CLONE = 40)
|
||||
flag = "bio"
|
||||
New()
|
||||
..()
|
||||
effects["radiation"] = 40
|
||||
effectmod["radiation"] = ADD
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/dart
|
||||
name = "dart"
|
||||
icon_state = "toxin"
|
||||
flag = "bio"
|
||||
damage = 0
|
||||
mobdamage = list(BRUTE = 0, BURN = 0, TOX = 10, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["weak"] = 5
|
||||
effectmod["weak"] = ADD
|
||||
63
code/modules/projectiles/projectile/bullets.dm
Normal file
63
code/modules/projectiles/projectile/bullets.dm
Normal file
@@ -0,0 +1,63 @@
|
||||
/obj/item/projectile/weakbullet
|
||||
damage = 8
|
||||
mobdamage = list(BRUTE = 8, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["stun"] = 10
|
||||
effects["weak"] = 10
|
||||
effects["stutter"] = 2
|
||||
effectprob["weak"] = 25
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/midbullet
|
||||
damage = 16
|
||||
mobdamage = list(BRUTE = 32, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["weak"] = 10
|
||||
effects["stun"] = 10
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/suffocationbullet//How does this even work?
|
||||
mobdamage = list(BRUTE = 5, BURN = 0, TOX = 0, OXY = 15, CLONE = 0)
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/cyanideround//Instakill guns are not a good thing, make them hit a few times
|
||||
mobdamage = list(BRUTE = 5, BURN = 0, TOX = 40, OXY = 0, CLONE = 0)
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/burstbullet
|
||||
damage = 20
|
||||
mobdamage = list(BRUTE = 20, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/gyro
|
||||
name ="gyro"
|
||||
icon_state= "bolter"
|
||||
damage = 50
|
||||
mobdamage = list(BRUTE = 50, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
|
||||
flag = "bullet"
|
||||
New()
|
||||
..()
|
||||
effects["weak"] = 10
|
||||
effects["stun"] = 10
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/stunshot
|
||||
name = "stunshot"
|
||||
icon_state = "bullet"
|
||||
flag = "bullet"
|
||||
damage = 5
|
||||
mobdamage = list(BRUTE = 5, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["stun"] = 20
|
||||
effects["weak"] = 20
|
||||
effectprob["weak"] = 45
|
||||
effects["stutter"] = 20
|
||||
27
code/modules/projectiles/projectile/energy.dm
Normal file
27
code/modules/projectiles/projectile/energy.dm
Normal file
@@ -0,0 +1,27 @@
|
||||
/obj/item/projectile/electrode
|
||||
name = "electrode"
|
||||
icon_state = "spark"
|
||||
flag = "taser"
|
||||
damage = 0
|
||||
nodamage = 1
|
||||
New()
|
||||
..()
|
||||
effects["stun"] = 10
|
||||
effects["weak"] = 10
|
||||
effects["stutter"] = 10
|
||||
effectprob["weak"] = 25
|
||||
|
||||
|
||||
|
||||
/obj/item/projectile/bolt
|
||||
name = "bolt"
|
||||
icon_state = "cbbolt"
|
||||
flag = "taser"
|
||||
damage = 0
|
||||
nodamage = 1
|
||||
New()
|
||||
..()
|
||||
effects["weak"] = 10
|
||||
effects["stutter"] = 10
|
||||
|
||||
|
||||
14
code/modules/projectiles/projectile/rad.dm
Normal file
14
code/modules/projectiles/projectile/rad.dm
Normal file
@@ -0,0 +1,14 @@
|
||||
/obj/item/projectile/largebolt
|
||||
name = "largebolt"
|
||||
icon_state = "cbbolt"
|
||||
flag = "rad"
|
||||
damage = 20
|
||||
mobdamage = list(BRUTE = 10, BURN = 0, TOX = 10, OXY = 0, CLONE = 0)
|
||||
New()
|
||||
..()
|
||||
effects["radiation"] = 40
|
||||
effectprob["radiation"] = 95
|
||||
effects["drowsyness"] = 10
|
||||
effectprob["drowsyness"] = 25
|
||||
effectmod["radiation"] = ADD
|
||||
effectmod["drowsyness"] = SET
|
||||
35
code/modules/projectiles/projectile/special.dm
Normal file
35
code/modules/projectiles/projectile/special.dm
Normal file
@@ -0,0 +1,35 @@
|
||||
//These could likely use an Onhit proc
|
||||
/obj/item/projectile/ion
|
||||
name = "ion bolt"
|
||||
icon_state = "ion"
|
||||
flag = "taser"//Need to check this
|
||||
damage = 0
|
||||
nodamage = 1
|
||||
New()
|
||||
..()
|
||||
effects["emp"] = 1
|
||||
effectprob["emp"] = 80
|
||||
|
||||
/obj/item/projectile/freeze
|
||||
name = "freeze beam"
|
||||
icon_state = "ice_2"
|
||||
damage = 0
|
||||
var/temperature = 0
|
||||
|
||||
proc/Freeze(atom/A as mob|obj|turf|area)
|
||||
if(istype(A, /mob))
|
||||
var/mob/M = A
|
||||
if(M.bodytemperature > temperature)
|
||||
M.bodytemperature = temperature
|
||||
|
||||
/obj/item/projectile/plasma
|
||||
name = "plasma blast"
|
||||
icon_state = "plasma_2"
|
||||
damage = 0
|
||||
var/temperature = 800
|
||||
|
||||
proc/Heat(atom/A as mob|obj|turf|area)
|
||||
if(istype(A, /mob/living/carbon))
|
||||
var/mob/M = A
|
||||
if(M.bodytemperature < temperature)
|
||||
M.bodytemperature = temperature
|
||||
Reference in New Issue
Block a user