Polaris sync

This commit is contained in:
killer653
2017-12-21 04:01:07 -05:00
514 changed files with 13847 additions and 5596 deletions
@@ -356,6 +356,14 @@
name = "extended magazine (5.45mm armor-piercing)"
max_ammo = 30
/obj/item/ammo_magazine/m545/hunter
name = "magazine (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
/obj/item/ammo_magazine/m545/hunter/ext
name = "extended magazine (5.45mm hunting)"
max_ammo = 30
/obj/item/ammo_magazine/m545/small
name = "reduced magazine (5.45mm)"
icon_state = "m545-small"
@@ -373,6 +381,10 @@
name = "magazine (5.45mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a545/ap
/obj/item/ammo_magazine/m545/small/hunter
name = "magazine (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
/obj/item/ammo_magazine/clip/c545
name = "ammo clip (5.45mm)"
icon_state = "clip_rifle"
@@ -386,6 +398,10 @@
name = "rifle clip (5.45mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a545/ap
/obj/item/ammo_magazine/clip/c545/hunter
name = "rifle clip (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
/obj/item/ammo_magazine/clip/c545/practice
name = "rifle clip (5.45mm practice)"
ammo_type = /obj/item/ammo_casing/a545
@@ -406,6 +422,10 @@
name = "magazine box (5.45mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a545/ap
/obj/item/ammo_magazine/m545saw/hunter
name = "magazine box (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
/obj/item/ammo_magazine/m545saw/empty
initial_ammo = 0
@@ -505,6 +525,10 @@
name = "rifle clip (7.62mm practice)"
ammo_type = /obj/item/ammo_casing/a762p
/obj/item/ammo_magazine/clip/c762/hunter
name = "rifle clip (7.62mm hunting)"
ammo_type = /obj/item/ammo_casing/a762/hunter
/obj/item/ammo_magazine/m762svd
name = "\improper SVD magazine (7.62mm)"
icon_state = "SVD"
@@ -551,12 +575,12 @@
/obj/item/ammo_magazine/clip/c12g
name = "ammo clip (12g slug)"
icon_state = "12gclipslug" //largely a codersprite, looks good enough. feel free to make a better one.
icon_state = "12gclipslug" // Still a placeholder sprite. Feel free to make a better one.
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with slugs."
caliber = "12g"
ammo_type = /obj/item/ammo_casing/a12g
matter = list(DEFAULT_WALL_MATERIAL = 1790) // slugs shells x4 + 350 metal for the clip itself.
max_ammo = 4
matter = list(DEFAULT_WALL_MATERIAL = 1070) // slugs shells x2 + 350 metal for the clip itself.
max_ammo = 2
multiple_sprites = 1
/obj/item/ammo_magazine/clip/c12g/pellet
@@ -564,14 +588,14 @@
icon_state = "12gclipshell"
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with buckshot."
ammo_type = /obj/item/ammo_casing/a12g/pellet
matter = list(DEFAULT_WALL_MATERIAL = 1790) // buckshot and slugs cost the same
matter = list(DEFAULT_WALL_MATERIAL = 1070) // buckshot and slugs cost the same
/obj/item/ammo_magazine/clip/c12g/beanbag
name = "ammo clip (12g beanbag)"
icon_state = "12gclipbean"
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with beanbags."
ammo_type = /obj/item/ammo_casing/a12g/beanbag
matter = list(DEFAULT_WALL_MATERIAL = 1070) //beanbags x4 + 350 metal
matter = list(DEFAULT_WALL_MATERIAL = 710) //beanbags x2 + 350 metal
///////// .75 Gyrojet /////////
@@ -258,6 +258,10 @@
desc = "A 7.62mm hollow-point bullet casing."
projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow
/obj/item/ammo_casing/a762/hunter
desc = "A 7.62mm hunting bullet casing."
projectile_type = /obj/item/projectile/bullet/rifle/a762/hunter
/*
* 14.5mm (anti-materiel rifle round)
*/
@@ -298,6 +302,10 @@
desc = "A 5.45mm hollow-point bullet casing."
projectile_type = /obj/item/projectile/bullet/rifle/a545/hollow
/obj/item/ammo_casing/a545/hunter
desc = "A 5.45mm hunting bullet casing."
projectile_type = /obj/item/projectile/bullet/rifle/a545/hunter
/*
* Misc
*/
+8 -5
View File
@@ -7,7 +7,7 @@
var/obj/item/weapon/cell/power_supply //What type of power cell this uses
var/charge_cost = 240 //How much energy is needed to fire.
var/cell_type = null
var/cell_type = /obj/item/weapon/cell/device/weapon
var/projectile_type = /obj/item/projectile/beam/practice
var/modifystate
var/charge_meter = 1 //if set, the icon state will be chosen based on the current charge
@@ -34,12 +34,15 @@
/obj/item/weapon/gun/energy/New()
..()
if(cell_type)
power_supply = new cell_type(src)
else
power_supply = new /obj/item/weapon/cell/device/weapon(src)
if(self_recharge)
power_supply = new /obj/item/weapon/cell/device/weapon(src)
processing_objects.Add(src)
else
if(cell_type)
power_supply = new cell_type(src)
else
power_supply = null
update_icon()
/obj/item/weapon/gun/energy/Destroy()
+29 -9
View File
@@ -1,10 +1,11 @@
/obj/item/weapon/gun/energy/laser
name = "laser carbine"
desc = "A Hephaestus Industries G40E carbine, designed to kill with concentrated energy blasts. This varient has the ability to \
name = "laser rifle"
desc = "A Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts. This varient has the ability to \
switch between standard fire and a more efficent but weaker 'suppressive' fire."
icon_state = "laser"
item_state = "laser"
fire_sound = 'sound/weapons/Laser.ogg'
fire_delay = 8
slot_flags = SLOT_BELT|SLOT_BACK
w_class = ITEMSIZE_LARGE
force = 10
@@ -15,8 +16,8 @@
one_handed_penalty = 2
firemodes = list(
list(mode_name="normal", projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 240),
list(mode_name="suppressive", projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 60),
list(mode_name="normal", fire_delay=8, projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 240),
list(mode_name="suppressive", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 60),
)
/obj/item/weapon/gun/energy/laser/mounted
@@ -52,6 +53,26 @@
self_recharge = 1
use_external_power = 1
/obj/item/weapon/gun/energy/retro/empty
icon_state = "retro"
cell_type = null
/obj/item/weapon/gun/energy/alien
name = "alien pistol"
desc = "A weapon that works very similarly to a traditional energy weapon. How this came to be will likely be a mystery for the ages."
icon_state = "alienpistol"
item_state = "alienpistol"
fire_sound = 'sound/weapons/eLuger.ogg'
fire_delay = 10 // Handguns should be inferior to two-handed weapons. Even alien ones I suppose.
charge_cost = 480 // Five shots.
projectile_type = /obj/item/projectile/beam/cyan
cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien // Self charges.
origin_tech = list(TECH_COMBAT = 8, TECH_MAGNET = 7)
modifystate = "alienpistol"
/obj/item/weapon/gun/energy/captain
name = "antique laser gun"
icon_state = "caplaser"
@@ -65,9 +86,8 @@
origin_tech = null
fire_delay = 10 //Old pistol
charge_cost = 480 //to compensate a bit for self-recharging
self_recharge = 1
recharge_time = 3 //Recharges a bit more quickly...
charge_delay = 100 //... but it takes a while to get started
cell_type = /obj/item/weapon/cell/device/weapon/recharge/captain
battery_lock = 1
/obj/item/weapon/gun/energy/lasercannon
name = "laser cannon"
@@ -87,7 +107,6 @@
accuracy = 3
charge_cost = 600
/obj/item/weapon/gun/energy/lasercannon/mounted
name = "mounted laser cannon"
self_recharge = 1
@@ -145,10 +164,11 @@
item_state = "laser"
desc = "Standard issue weapon of the Imperial Guard"
origin_tech = list(TECH_COMBAT = 1, TECH_MAGNET = 2)
self_recharge = 1
matter = list(DEFAULT_WALL_MATERIAL = 2000)
fire_sound = 'sound/weapons/Laser.ogg'
projectile_type = /obj/item/projectile/beam/lastertag/blue
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
var/required_vest
/obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M)
@@ -56,7 +56,8 @@
force = 8 //looks heavier than a pistol
w_class = ITEMSIZE_LARGE //Looks bigger than a pistol, too.
fire_delay = 6 //This one's not a handgun, it should have the same fire delay as everything else
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
modifystate = null
// requires_two_hands = 1
+15 -12
View File
@@ -16,7 +16,7 @@
/obj/item/weapon/gun/energy/ionrifle/pistol
name = "ion pistol"
desc = "The NT Mk63 EW Pan is a man portable anti-armor weapon designed to disable mechanical threats, produced by NT. This model sacrifices capacity for portability.."
desc = "The NT Mk63 EW Pan is a man portable anti-armor weapon designed to disable mechanical threats, produced by NT. This model sacrifices capacity for portability."
icon_state = "ionpistol"
item_state = null
w_class = ITEMSIZE_NORMAL
@@ -43,7 +43,8 @@
projectile_type = /obj/item/projectile/energy/floramut
origin_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
modifystate = "floramut"
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
var/decl/plantgene/gene = null
firemodes = list(
@@ -126,7 +127,7 @@
/obj/item/weapon/gun/energy/staff
name = "staff of change"
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself"
desc = "An artifact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
icon = 'icons/obj/gun.dmi'
item_icons = null
icon_state = "staffofchange"
@@ -137,12 +138,13 @@
charge_cost = 480
projectile_type = /obj/item/projectile/change
origin_tech = null
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
charge_meter = 0
/obj/item/weapon/gun/energy/staff/special_check(var/mob/user)
if((user.mind && !wizards.is_antagonist(user.mind)))
usr << "<span class='warning'>You focus your mind on \the [src], but nothing happens!</span>"
to_chat(usr, "<span class='warning'>You focus your mind on \the [src], but nothing happens!</span>")
return 0
return ..()
@@ -156,13 +158,13 @@
/obj/item/weapon/gun/energy/staff/animate
name = "staff of animation"
desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines."
desc = "An artifact that spits bolts of life force, which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines."
projectile_type = /obj/item/projectile/animate
charge_cost = 240
obj/item/weapon/gun/energy/staff/focus
name = "mental focus"
desc = "An artefact that channels the will of the user into destructive bolts of force. If you aren't careful with it, you might poke someone's brain out."
desc = "An artifact that channels the will of the user into destructive bolts of force. If you aren't careful with it, you might poke someone's brain out."
icon = 'icons/obj/wizard.dmi'
icon_state = "focus"
slot_flags = SLOT_BACK
@@ -171,24 +173,25 @@ obj/item/weapon/gun/energy/staff/focus
attack_self(mob/living/user as mob)
if(projectile_type == "/obj/item/projectile/forcebolt")
charge_cost = 400
user << "<span class='warning'>The [src.name] will now strike a small area.</span>"
to_chat(user, "<span class='warning'>The [src.name] will now strike a small area.</span>")
projectile_type = "/obj/item/projectile/forcebolt/strong"
else
charge_cost = 200
user << "<span class='warning'>The [src.name] will now strike only a single person.</span>"
to_chat(user, "<span class='warning'>The [src.name] will now strike only a single person.</span>")
projectile_type = "/obj/item/projectile/forcebolt"
*/
/obj/item/weapon/gun/energy/dakkalaser
name = "suppression gun"
desc = "A massive weapon, designed to pressure the opposition by raining down a torrent of energy pellets."
desc = "A massive weapon designed to pressure the opposition by raining down a torrent of energy pellets."
icon_state = "dakkalaser"
item_state = "dakkalaser"
fire_sound = 'sound/weapons/Laser.ogg'
w_class = ITEMSIZE_HUGE
charge_cost = 24 // 100 shots, it's a spray and pray (to RNGesus) weapon.
projectile_type = /obj/item/projectile/energy/blue_pellet
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
accuracy = 5 // Suppressive weapons don't work too well if there's no risk of being hit.
burst_delay = 1 // Burst faster than average.
origin_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 6, TECH_ILLEGAL = 6)
@@ -197,4 +200,4 @@ obj/item/weapon/gun/energy/staff/focus
list(mode_name="single shot", burst = 1, burst_accuracy = list(5), dispersion = list(0), charge_cost = 24),
list(mode_name="five shot burst", burst = 5, burst_accuracy = list(5,5,5,5,5), dispersion = list(1,1,1,1,1)),
list(mode_name="ten shot burst", burst = 10, burst_accuracy = list(5,5,5,5,5,5,5,5,5,5), dispersion = list(2,2,2,2,2,2,2,2,2,2)),
)
)
+2 -1
View File
@@ -41,7 +41,8 @@
fire_sound = 'sound/weapons/Genhit.ogg'
projectile_type = /obj/item/projectile/energy/bolt
charge_cost = 480
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
charge_meter = 0
/obj/item/weapon/gun/energy/crossbow/ninja
@@ -20,16 +20,12 @@
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial
name = "ceremonial bolt-action rifle"
desc = "A bolt-action rifle with a heavy, high-quality wood stock that has a beautiful finish. Clearly not intended to be used in combat. Uses 7.62mm rounds."
icon_state = "boltaction_c"
item_state = "boltaction_c"
ammo_type = /obj/item/ammo_casing/a762/blank
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/mosin
name = "\improper Mosin Nagant"
desc = "Despite its age, the Mosin Nagant continues to be a favorite weapon among colonists, conscripts, and militias across the cosmos. Most today are built by Chen-Iltchenko Firearms, but it's hard to say who built this particular gun, considering the design has been ripped off by just about every arms manufacturer in the galaxy. Uses 7.62mm rounds."
icon_state = "mosin"
item_state = "mosin"
// Stole hacky terrible code from doublebarrel shotgun. -Spades
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/mosin/attackby(var/obj/item/A as obj, mob/user as mob)
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial/attackby(var/obj/item/A as obj, mob/user as mob)
if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) && w_class != ITEMSIZE_NORMAL)
user << "<span class='notice'>You begin to shorten the barrel and stock of \the [src].</span>"
if(loaded.len)
@@ -38,16 +34,16 @@
user.visible_message("<span class='danger'>[src] goes off!</span>", "<span class='danger'>The rifle goes off in your face!</span>")
return
if(do_after(user, 30))
icon_state = "obrez"
icon_state = "sawnrifle"
w_class = ITEMSIZE_NORMAL
recoil = 2 // Owch
accuracy = -1 // You know damn well why.
item_state = "gun"
slot_flags &= ~SLOT_BACK //you can't sling it on your back
slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
name = "\improper Obrez"
desc = "The firepower of a Mosin, now the size of a pistol, with an effective combat range of about three feet. Uses 7.62mm rounds."
user << "<span class='warning'>You shorten the barrel and stock of \the [src]!</span>"
name = "sawn-off rifle"
desc = "The firepower of a rifle, now the size of a pistol, with an effective combat range of about three feet. Uses 7.62mm rounds."
to_chat(user, "<span class='warning'>You shorten the barrel and stock of \the [src]!</span>")
else
..()
+5 -3
View File
@@ -60,7 +60,8 @@
w_class = ITEMSIZE_HUGE
charge_cost = 300
projectile_type = /obj/item/projectile/beam/stun/darkmatter
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
accuracy = 2
firemodes = list(
@@ -85,7 +86,7 @@
/obj/item/projectile/beam/darkmatter
name = "dark matter bolt"
icon_state = "darkb"
damage = 60
damage = 35
armor_penetration = 35
damage_type = BRUTE
check_armour = "energy"
@@ -118,7 +119,8 @@
item_state = "noise"
fire_sound = 'sound/effects/basscannon.ogg'
w_class = ITEMSIZE_HUGE
self_recharge = 1
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
charge_cost = 600
projectile_type=/obj/item/projectile/sonic/weak
+2
View File
@@ -38,6 +38,8 @@
var/damage = 10
var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE, HALLOSS are the only things that should be in here
var/SA_bonus_damage = 0 // Some bullets inflict extra damage on simple animals.
var/SA_vulnerability = null // What kind of simple animal the above bonus damage should be applied to. Set to null to apply to all SAs.
var/nodamage = 0 //Determines if the projectile will skip any damage inflictions
var/taser_effect = 0 //If set then the projectile will apply it's agony damage using stun_effect_act() to mobs it hits, and other damage will be ignored
var/check_armour = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid
@@ -70,6 +70,16 @@
tracer_type = /obj/effect/projectile/xray/tracer
impact_type = /obj/effect/projectile/xray/impact
/obj/item/projectile/beam/cyan
name = "cyan beam"
icon_state = "cyan"
damage = 40
light_color = "#00C6FF"
muzzle_type = /obj/effect/projectile/laser_omni/muzzle
tracer_type = /obj/effect/projectile/laser_omni/tracer
impact_type = /obj/effect/projectile/laser_omni/impact
/obj/item/projectile/beam/pulse
name = "pulse"
icon_state = "u_laser"
@@ -209,6 +209,11 @@
armor_penetration = -50
penetrating = 0
/obj/item/projectile/bullet/rifle/a762/hunter // Optimized for killing simple animals and not people, because Balance.
damage = 20
SA_bonus_damage = 50 // 70 total on animals.
SA_vulnerability = SA_ANIMAL
/obj/item/projectile/bullet/rifle/a545
damage = 25
@@ -221,6 +226,11 @@
armor_penetration = -50
penetrating = 0
/obj/item/projectile/bullet/rifle/a545/hunter
damage = 15
SA_bonus_damage = 35 // 50 total on animals.
SA_vulnerability = SA_ANIMAL
/obj/item/projectile/bullet/rifle/a145
damage = 80
stun = 3
+94 -61
View File
@@ -11,7 +11,7 @@
var/pulse_range = 1
on_hit(var/atom/target, var/blocked = 0)
/obj/item/projectile/ion/on_hit(var/atom/target, var/blocked = 0)
empulse(target, pulse_range, pulse_range, pulse_range, pulse_range)
return 1
@@ -26,7 +26,7 @@
sharp = 1
edge = 1
on_hit(var/atom/target, var/blocked = 0)
/obj/item/projectile/bullet/gyro/on_hit(var/atom/target, var/blocked = 0)
explosion(target, -1, 0, 2)
return 1
@@ -81,26 +81,26 @@
nodamage = 1
check_armour = "bullet"
Bump(atom/A as mob|obj|turf|area)
if(A == firer)
loc = A.loc
return
/obj/item/projectile/meteor/Bump(atom/A as mob|obj|turf|area)
if(A == firer)
loc = A.loc
return
sleep(-1) //Might not be important enough for a sleep(-1) but the sleep/spawn itself is necessary thanks to explosions and metoerhits
sleep(-1) //Might not be important enough for a sleep(-1) but the sleep/spawn itself is necessary thanks to explosions and metoerhits
if(src)//Do not add to this if() statement, otherwise the meteor won't delete them
if(A)
if(src)//Do not add to this if() statement, otherwise the meteor won't delete them
if(A)
A.ex_act(2)
playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1)
A.ex_act(2)
playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1)
for(var/mob/M in range(10, src))
if(!M.stat && !istype(M, /mob/living/silicon/ai))\
shake_camera(M, 3, 1)
qdel(src)
return 1
else
return 0
for(var/mob/M in range(10, src))
if(!M.stat && !istype(M, /mob/living/silicon/ai))\
shake_camera(M, 3, 1)
qdel(src)
return 1
else
return 0
/obj/item/projectile/energy/floramut
name = "alpha somatoray"
@@ -113,36 +113,36 @@
light_power = 0.5
light_color = "#33CC00"
on_hit(var/atom/target, var/blocked = 0)
var/mob/living/M = target
if(ishuman(target))
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
if(prob(15))
M.apply_effect((rand(30,80)),IRRADIATE)
M.Weaken(5)
for (var/mob/V in viewers(src))
V.show_message("<font color='red'>[M] writhes in pain as \his vacuoles boil.</font>", 3, "<font color='red'>You hear the crunching of leaves.</font>", 2)
if(prob(35))
// for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan
// V.show_message("<font color='red'>[M] is mutated by the radiation beam.</font>", 3, "<font color='red'> You hear the snapping of twigs.</font>", 2)
if(prob(80))
randmutb(M)
domutcheck(M,null)
else
randmutg(M)
domutcheck(M,null)
/obj/item/projectile/energy/floramut/on_hit(var/atom/target, var/blocked = 0)
var/mob/living/M = target
if(ishuman(target))
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
if(prob(15))
M.apply_effect((rand(30,80)),IRRADIATE)
M.Weaken(5)
for (var/mob/V in viewers(src))
V.show_message("<font color='red'>[M] writhes in pain as \his vacuoles boil.</font>", 3, "<font color='red'>You hear the crunching of leaves.</font>", 2)
if(prob(35))
// for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan
// V.show_message("<font color='red'>[M] is mutated by the radiation beam.</font>", 3, "<font color='red'> You hear the snapping of twigs.</font>", 2)
if(prob(80))
randmutb(M)
domutcheck(M,null)
else
M.adjustFireLoss(rand(5,15))
M.show_message("<font color='red'>The radiation beam singes you!</font>")
// for (var/mob/V in viewers(src))
// V.show_message("<font color='red'>[M] is singed by the radiation beam.</font>", 3, "<font color='red'> You hear the crackle of burning leaves.</font>", 2)
else if(istype(target, /mob/living/carbon/))
// for (var/mob/V in viewers(src))
// V.show_message("The radiation beam dissipates harmlessly through [M]", 3)
M.show_message("<font color='blue'>The radiation beam dissipates harmlessly through your body.</font>")
else
return 1
randmutg(M)
domutcheck(M,null)
else
M.adjustFireLoss(rand(5,15))
M.show_message("<font color='red'>The radiation beam singes you!</font>")
// for (var/mob/V in viewers(src))
// V.show_message("<font color='red'>[M] is singed by the radiation beam.</font>", 3, "<font color='red'> You hear the crackle of burning leaves.</font>", 2)
else if(istype(target, /mob/living/carbon/))
// for (var/mob/V in viewers(src))
// V.show_message("The radiation beam dissipates harmlessly through [M]", 3)
M.show_message("<font color='blue'>The radiation beam dissipates harmlessly through your body.</font>")
else
return 1
/obj/item/projectile/energy/floramut/gene
name = "gamma somatoray"
@@ -164,25 +164,25 @@
light_power = 0.5
light_color = "#FFFFFF"
on_hit(var/atom/target, var/blocked = 0)
var/mob/M = target
if(ishuman(target)) //These rays make plantmen fat.
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
M.nutrition += 30
else if (istype(target, /mob/living/carbon/))
M.show_message("<font color='blue'>The radiation beam dissipates harmlessly through your body.</font>")
else
return 1
/obj/item/projectile/energy/florayield/on_hit(var/atom/target, var/blocked = 0)
var/mob/M = target
if(ishuman(target)) //These rays make plantmen fat.
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
M.nutrition += 30
else if (istype(target, /mob/living/carbon/))
M.show_message("<font color='blue'>The radiation beam dissipates harmlessly through your body.</font>")
else
return 1
/obj/item/projectile/beam/mindflayer
name = "flayer ray"
on_hit(var/atom/target, var/blocked = 0)
if(ishuman(target))
var/mob/living/carbon/human/M = target
M.Confuse(rand(5,8))
/obj/item/projectile/beam/mindflayer/on_hit(var/atom/target, var/blocked = 0)
if(ishuman(target))
var/mob/living/carbon/human/M = target
M.Confuse(rand(5,8))
/obj/item/projectile/chameleon
name = "bullet"
@@ -192,3 +192,36 @@
nodamage = 1
damage_type = HALLOSS
muzzle_type = /obj/effect/projectile/bullet/muzzle
/obj/item/projectile/bola
name = "bola"
icon_state = "bola"
damage = 5
embed_chance = 0 //Nada.
damage_type = HALLOSS
muzzle_type = null
/obj/item/projectile/bola/on_hit(var/atom/target, var/blocked = 0)
if(ishuman(target))
var/mob/living/carbon/human/M = target
var/obj/item/weapon/handcuffs/legcuffs/bola/B = new(src.loc)
if(!B.place_legcuffs(M,firer))
if(B)
qdel(B)
..()
/obj/item/projectile/webball
name = "ball of web"
icon_state = "bola"
damage = 10
embed_chance = 0 //Nada.
damage_type = BRUTE
muzzle_type = null
/obj/item/projectile/webball/on_hit(var/atom/target, var/blocked = 0)
if(isturf(target.loc))
var/obj/effect/spider/stickyweb/W = locate() in get_turf(target)
if(!W && prob(75))
visible_message("<span class='danger'>\The [src] splatters a layer of web on \the [target]!</span>")
new /obj/effect/spider/stickyweb(target.loc)
..()