mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Fixes revolver paths, span classes, typo. Cleans exodus-1.dmm
Tweaks syringe gun and dart gun, renames syringe gun cartridges and makes them printable. Adjusts penetration so that passing through mobs happens with a probability that scales with damage. Adds a .45 signal pistol to the HoP's closet and a 9mm one to the mercenary shuttle.
This commit is contained in:
@@ -40,7 +40,7 @@
|
|||||||
new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"),
|
new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"),
|
||||||
new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/g9mm, 5, "Silenced 9mm", "S9"),
|
new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/g9mm, 5, "Silenced 9mm", "S9"),
|
||||||
new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"),
|
new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"),
|
||||||
new/datum/uplink_item(/obj/item/weapon/gun/projectile, 6, "Revolver", "RE"),
|
new/datum/uplink_item(/obj/item/weapon/gun/projectile/revolver, 6, "Revolver", "RE"),
|
||||||
new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU")
|
new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU")
|
||||||
),
|
),
|
||||||
"Stealthy and Inconspicuous Weapons" = list(
|
"Stealthy and Inconspicuous Weapons" = list(
|
||||||
|
|||||||
@@ -201,6 +201,11 @@
|
|||||||
path = /obj/item/weapon/reagent_containers/syringe
|
path = /obj/item/weapon/reagent_containers/syringe
|
||||||
category = "Medical"
|
category = "Medical"
|
||||||
|
|
||||||
|
/datum/autolathe/recipe/syringegun_ammo
|
||||||
|
name = "syringe"
|
||||||
|
path = /obj/item/weapon/syringe_cartridge
|
||||||
|
category = "Arms and Ammunition"
|
||||||
|
|
||||||
/datum/autolathe/recipe/shotgun_blanks
|
/datum/autolathe/recipe/shotgun_blanks
|
||||||
name = "ammunition (shotgun, blank)"
|
name = "ammunition (shotgun, blank)"
|
||||||
path = /obj/item/ammo_casing/shotgun/blank
|
path = /obj/item/ammo_casing/shotgun/blank
|
||||||
|
|||||||
@@ -79,7 +79,6 @@
|
|||||||
/obj/item/weapon/storage/box/syringes
|
/obj/item/weapon/storage/box/syringes
|
||||||
name = "box of syringes"
|
name = "box of syringes"
|
||||||
desc = "A box full of syringes."
|
desc = "A box full of syringes."
|
||||||
// desc = "A biohazard alert warning is printed on the box"
|
|
||||||
icon_state = "syringe"
|
icon_state = "syringe"
|
||||||
|
|
||||||
New()
|
New()
|
||||||
@@ -93,7 +92,7 @@
|
|||||||
new /obj/item/weapon/reagent_containers/syringe( src )
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
||||||
|
|
||||||
/obj/item/weapon/storage/box/syringegun
|
/obj/item/weapon/storage/box/syringegun
|
||||||
name = "box of compressed gas cartridges"
|
name = "box of syringe gun cartridges"
|
||||||
desc = "A box full of compressed gas cartridges."
|
desc = "A box full of compressed gas cartridges."
|
||||||
icon_state = "syringe"
|
icon_state = "syringe"
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
new /obj/item/weapon/storage/box/ids(src)
|
new /obj/item/weapon/storage/box/ids(src)
|
||||||
new /obj/item/weapon/storage/box/ids( src )
|
new /obj/item/weapon/storage/box/ids( src )
|
||||||
new /obj/item/weapon/gun/energy/gun(src)
|
new /obj/item/weapon/gun/energy/gun(src)
|
||||||
|
new /obj/item/weapon/gun/projectile/detective/flash(src)
|
||||||
new /obj/item/device/flash(src)
|
new /obj/item/device/flash(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -595,7 +595,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
|||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/cloaking_device(M), slot_r_store)
|
M.equip_to_slot_or_del(new /obj/item/weapon/cloaking_device(M), slot_r_store)
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile(M), slot_r_hand)
|
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver(M), slot_r_hand)
|
||||||
M.equip_to_slot_or_del(new /obj/item/ammo_magazine/a357(M), slot_l_store)
|
M.equip_to_slot_or_del(new /obj/item/ammo_magazine/a357(M), slot_l_store)
|
||||||
|
|
||||||
if ("tournament chef") //Steven Seagal FTW
|
if ("tournament chef") //Steven Seagal FTW
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
//Does not stun, only blinds, but has area of effect.
|
//Does not stun, only blinds, but has area of effect.
|
||||||
/obj/item/ammo_casing/shotgun/flash
|
/obj/item/ammo_casing/shotgun/flash
|
||||||
name = "flash shell"
|
name = "flash shell"
|
||||||
desc = "A flash shell used to provide illumination."
|
desc = "A chemical shell used to signal distress or provide illumination."
|
||||||
icon_state = "fshell"
|
icon_state = "fshell"
|
||||||
projectile_type = /obj/item/projectile/energy/flash/flare
|
projectile_type = /obj/item/projectile/energy/flash/flare
|
||||||
matter = list("metal" = 250, "glass" = 250)
|
matter = list("metal" = 250, "glass" = 250)
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
if(istype(user,/mob/living/carbon/human))
|
if(istype(user,/mob/living/carbon/human))
|
||||||
var/mob/living/carbon/human/H = user
|
var/mob/living/carbon/human/H = user
|
||||||
if(H.species && H.species.name != "Vox" && H.species.name != "Vox Armalis")
|
if(H.species && H.species.name != "Vox" && H.species.name != "Vox Armalis")
|
||||||
user << "\red \The [src] does not respond to you!"
|
user << "<span class='warning'>\The [src] does not respond to you!</span>"
|
||||||
return 0
|
return 0
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
if(H.species.name == "Vox Armalis")
|
if(H.species.name == "Vox Armalis")
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
user << "\red \The [src] is far too large for you to pick up."
|
user << "<span class='warning'>\The [src] is far too large for you to pick up.</span>"
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/noisecannon/update_icon()
|
/obj/item/weapon/gun/energy/noisecannon/update_icon()
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ obj/item/weapon/gun/energy/laser/retro
|
|||||||
/obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M)
|
/obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M)
|
||||||
if(ishuman(M))
|
if(ishuman(M))
|
||||||
if(!istype(M.wear_suit, required_vest))
|
if(!istype(M.wear_suit, required_vest))
|
||||||
M << "\red You need to be wearing your laser tag vest!"
|
M << "<span class='warning'>You need to be wearing your laser tag vest!</span>"
|
||||||
return 0
|
return 0
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|||||||
@@ -18,14 +18,14 @@
|
|||||||
mode = 1
|
mode = 1
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
fire_sound = 'sound/weapons/Laser.ogg'
|
fire_sound = 'sound/weapons/Laser.ogg'
|
||||||
user << "\red [src.name] is now set to kill."
|
user << "<span class='warning'>[src.name] is now set to kill.</span>"
|
||||||
projectile_type = /obj/item/projectile/beam
|
projectile_type = /obj/item/projectile/beam
|
||||||
modifystate = "energykill"
|
modifystate = "energykill"
|
||||||
if(1)
|
if(1)
|
||||||
mode = 0
|
mode = 0
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
fire_sound = 'sound/weapons/Taser.ogg'
|
fire_sound = 'sound/weapons/Taser.ogg'
|
||||||
user << "\red [src.name] is now set to stun."
|
user << "<span class='warning'>[src.name] is now set to stun.</span>"
|
||||||
projectile_type = /obj/item/projectile/beam/stun
|
projectile_type = /obj/item/projectile/beam/stun
|
||||||
modifystate = "energystun"
|
modifystate = "energystun"
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -66,16 +66,16 @@
|
|||||||
if (prob(src.reliability))
|
if (prob(src.reliability))
|
||||||
for (var/mob/living/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it
|
for (var/mob/living/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it
|
||||||
if (src in M.contents)
|
if (src in M.contents)
|
||||||
M << "\red Your gun feels pleasantly warm for a moment."
|
M << "<span class='warning'>Your gun feels pleasantly warm for a moment.</span>"
|
||||||
else
|
else
|
||||||
M << "\red You feel a warm sensation."
|
M << "<span class='warning'>You feel a warm sensation.</span>"
|
||||||
M.apply_effect(rand(3,120), IRRADIATE)
|
M.apply_effect(rand(3,120), IRRADIATE)
|
||||||
lightfail = 1
|
lightfail = 1
|
||||||
else
|
else
|
||||||
for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES
|
for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES
|
||||||
if (src in M.contents)
|
if (src in M.contents)
|
||||||
M << "\red Your gun's reactor overloads!"
|
M << "<span class='danger'>Your gun's reactor overloads!</span>"
|
||||||
M << "\red You feel a wave of heat wash over you."
|
M << "<span class='warning'>You feel a wave of heat wash over you.</span>"
|
||||||
M.apply_effect(300, IRRADIATE)
|
M.apply_effect(300, IRRADIATE)
|
||||||
crit_fail = 1 //break the gun so it stops recharging
|
crit_fail = 1 //break the gun so it stops recharging
|
||||||
processing_objects.Remove(src)
|
processing_objects.Remove(src)
|
||||||
|
|||||||
@@ -18,19 +18,19 @@
|
|||||||
mode = 0
|
mode = 0
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
fire_sound = 'sound/weapons/Taser.ogg'
|
fire_sound = 'sound/weapons/Taser.ogg'
|
||||||
user << "\red [src.name] is now set to stun."
|
user << "<span class='warning'>[src.name] is now set to stun.</span>"
|
||||||
projectile_type = /obj/item/projectile/beam/stun
|
projectile_type = /obj/item/projectile/beam/stun
|
||||||
if(0)
|
if(0)
|
||||||
mode = 1
|
mode = 1
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
fire_sound = 'sound/weapons/Laser.ogg'
|
fire_sound = 'sound/weapons/Laser.ogg'
|
||||||
user << "\red [src.name] is now set to kill."
|
user << "<span class='warning'>[src.name] is now set to kill.</span>"
|
||||||
projectile_type = /obj/item/projectile/beam
|
projectile_type = /obj/item/projectile/beam
|
||||||
if(1)
|
if(1)
|
||||||
mode = 2
|
mode = 2
|
||||||
charge_cost = 200
|
charge_cost = 200
|
||||||
fire_sound = 'sound/weapons/pulse.ogg'
|
fire_sound = 'sound/weapons/pulse.ogg'
|
||||||
user << "\red [src.name] is now set to DESTROY."
|
user << "<span class='warning'>[src.name] is now set to DESTROY.</span>"
|
||||||
projectile_type = /obj/item/projectile/beam/pulse
|
projectile_type = /obj/item/projectile/beam/pulse
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/pulse_rifle/mounted
|
/obj/item/weapon/gun/energy/pulse_rifle/mounted
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
fire_delay = 10
|
fire_delay = 10
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob)
|
/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob)
|
||||||
user << "\red [src.name] has three settings, and they are all DESTROY."
|
user << "<span class='warning'>[src.name] has three settings, and they are all DESTROY.</span>"
|
||||||
|
|
||||||
|
|
||||||
//WHY?
|
//WHY?
|
||||||
|
|||||||
@@ -43,13 +43,13 @@
|
|||||||
if(0)
|
if(0)
|
||||||
mode = 1
|
mode = 1
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
user << "\red The [src.name] is now set to increase yield."
|
user << "<span class='warning'>The [src.name] is now set to increase yield.</span>"
|
||||||
projectile_type = /obj/item/projectile/energy/florayield
|
projectile_type = /obj/item/projectile/energy/florayield
|
||||||
modifystate = "florayield"
|
modifystate = "florayield"
|
||||||
if(1)
|
if(1)
|
||||||
mode = 0
|
mode = 0
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
user << "\red The [src.name] is now set to induce mutations."
|
user << "<span class='warning'>The [src.name] is now set to induce mutations.</span>"
|
||||||
projectile_type = /obj/item/projectile/energy/floramut
|
projectile_type = /obj/item/projectile/energy/floramut
|
||||||
modifystate = "floramut"
|
modifystate = "floramut"
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
/obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, adjacent_flag)
|
/obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, adjacent_flag)
|
||||||
//allow shooting into adjacent hydrotrays regardless of intent
|
//allow shooting into adjacent hydrotrays regardless of intent
|
||||||
if(adjacent_flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics))
|
if(adjacent_flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics))
|
||||||
user.visible_message("\red <b> \The [user] fires \the [src] into \the [target]!</b>")
|
user.visible_message("<span class='danger'>\The [user] fires \the [src] into \the [target]!</span>")
|
||||||
Fire(target,user)
|
Fire(target,user)
|
||||||
return
|
return
|
||||||
..()
|
..()
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
|
|
||||||
/obj/item/weapon/gun/energy/staff/handle_click_empty(mob/user = null)
|
/obj/item/weapon/gun/energy/staff/handle_click_empty(mob/user = null)
|
||||||
if (user)
|
if (user)
|
||||||
user.visible_message("*fizzle*", "\red <b>*fizzle*</b>")
|
user.visible_message("*fizzle*", "<span class='danger'>*fizzle*</span>")
|
||||||
else
|
else
|
||||||
src.visible_message("*fizzle*")
|
src.visible_message("*fizzle*")
|
||||||
playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 1)
|
playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 1)
|
||||||
@@ -146,11 +146,11 @@ obj/item/weapon/gun/energy/staff/focus
|
|||||||
attack_self(mob/living/user as mob)
|
attack_self(mob/living/user as mob)
|
||||||
if(projectile_type == "/obj/item/projectile/forcebolt")
|
if(projectile_type == "/obj/item/projectile/forcebolt")
|
||||||
charge_cost = 200
|
charge_cost = 200
|
||||||
user << "\red The [src.name] will now strike a small area."
|
user << "<span class='warning'>The [src.name] will now strike a small area.</span>"
|
||||||
projectile_type = "/obj/item/projectile/forcebolt/strong"
|
projectile_type = "/obj/item/projectile/forcebolt/strong"
|
||||||
else
|
else
|
||||||
charge_cost = 100
|
charge_cost = 100
|
||||||
user << "\red The [src.name] will now strike only a single person."
|
user << "<span class='warning'>The [src.name] will now strike only a single person.</span>"
|
||||||
projectile_type = "/obj/item/projectile/forcebolt"
|
projectile_type = "/obj/item/projectile/forcebolt"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
/obj/item/weapon/syringe_cartridge
|
/obj/item/weapon/syringe_cartridge
|
||||||
name = "compressed gas cartridge"
|
name = "syringe gun cartridge"
|
||||||
desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection."
|
desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection."
|
||||||
icon = 'icons/obj/ammo.dmi'
|
icon = 'icons/obj/ammo.dmi'
|
||||||
icon_state = "syringe-cartridge"
|
icon_state = "syringe-cartridge"
|
||||||
var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot
|
var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot
|
||||||
|
matter = list("metal" = 125, "glass" = 375)
|
||||||
flags = CONDUCT
|
flags = CONDUCT
|
||||||
slot_flags = SLOT_BELT
|
slot_flags = SLOT_BELT
|
||||||
throwforce = 3
|
throwforce = 3
|
||||||
force = 3
|
force = 3
|
||||||
w_class = 1
|
w_class = 1
|
||||||
var/obj/item/weapon/reagent_containers/syringe/syringe
|
var/obj/item/weapon/reagent_containers/syringe/syringe
|
||||||
var/primed = 0
|
|
||||||
|
|
||||||
/obj/item/weapon/syringe_cartridge/update_icon()
|
/obj/item/weapon/syringe_cartridge/update_icon()
|
||||||
underlays.Cut()
|
underlays.Cut()
|
||||||
@@ -39,14 +39,13 @@
|
|||||||
//the icon state will revert back when update_icon() is called from throw_impact()
|
//the icon state will revert back when update_icon() is called from throw_impact()
|
||||||
icon_state = icon_flight
|
icon_state = icon_flight
|
||||||
underlays.Cut()
|
underlays.Cut()
|
||||||
primed = 1
|
|
||||||
|
|
||||||
/obj/item/weapon/syringe_cartridge/throw_impact(atom/hit_atom, var/speed)
|
/obj/item/weapon/syringe_cartridge/throw_impact(atom/hit_atom, var/speed)
|
||||||
..() //handles embedding for us. Should have a decent chance if thrown fast enough
|
..() //handles embedding for us. Should have a decent chance if thrown fast enough
|
||||||
if(syringe)
|
if(syringe)
|
||||||
//check speed to see if we hit hard enough to trigger the rapid injection
|
//check speed to see if we hit hard enough to trigger the rapid injection
|
||||||
//incidentally, this means syringe_cartridges can be used with the pneumatic launcher
|
//incidentally, this means syringe_cartridges can be used with the pneumatic launcher
|
||||||
if(speed >= 10 && primed && isliving(hit_atom))
|
if(speed >= 10 && isliving(hit_atom))
|
||||||
var/mob/living/L = hit_atom
|
var/mob/living/L = hit_atom
|
||||||
//unfortuately we don't know where the dart will actually hit, since that's done by the parent.
|
//unfortuately we don't know where the dart will actually hit, since that's done by the parent.
|
||||||
if(L.can_inject())
|
if(L.can_inject())
|
||||||
@@ -93,7 +92,7 @@
|
|||||||
|
|
||||||
/obj/item/weapon/gun/launcher/syringe/attack_self(mob/living/user as mob)
|
/obj/item/weapon/gun/launcher/syringe/attack_self(mob/living/user as mob)
|
||||||
if(next)
|
if(next)
|
||||||
user.visible_message("[user] unlatches and carefully relax the bolt on [src].", "<span class='notice'>You unlatch and carefully relax the bolt on [src], unloading the spring.</span>")
|
user.visible_message("[user] unlatches and carefully relaxes the bolt on [src].", "<span class='warning'>You unlatch and carefully relax the bolt on [src], unloading the spring.</span>")
|
||||||
next = null
|
next = null
|
||||||
else if(darts.len)
|
else if(darts.len)
|
||||||
playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1)
|
playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1)
|
||||||
@@ -106,7 +105,7 @@
|
|||||||
user << "<span class='warning'>[src] is empty.</span>"
|
user << "<span class='warning'>[src] is empty.</span>"
|
||||||
return
|
return
|
||||||
if(next)
|
if(next)
|
||||||
user << "<span class='warning'>The cover on [src] is locked shut.</span>"
|
user << "<span class='warning'>[src]'s cover is locked shut.</span>"
|
||||||
return
|
return
|
||||||
var/obj/item/weapon/syringe_cartridge/C = darts[1]
|
var/obj/item/weapon/syringe_cartridge/C = darts[1]
|
||||||
darts -= C
|
darts -= C
|
||||||
@@ -129,7 +128,7 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/item/weapon/gun/launcher/syringe/rapid
|
/obj/item/weapon/gun/launcher/syringe/rapid
|
||||||
name = "rapid syringe gun"
|
name = "syringe gun revolver"
|
||||||
desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes. The spring still needs to be drawn between shots."
|
desc = "A modification of the syringe gun design, using a rotating cylinder to store up to five syringes. The spring still needs to be drawn between shots."
|
||||||
icon_state = "rapidsyringegun"
|
icon_state = "rapidsyringegun"
|
||||||
max_darts = 4
|
max_darts = 5
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
/obj/item/projectile/bullet/chemdart
|
/obj/item/projectile/bullet/chemdart
|
||||||
name = "dart"
|
name = "dart"
|
||||||
icon_state = "dart"
|
icon_state = "dart"
|
||||||
damage = 1
|
damage = 5
|
||||||
sharp = 1
|
sharp = 1
|
||||||
embed = 0
|
embed = 1 //the dart is shot fast enough to pierce space suits, so I guess splintering inside the target can be a thing. Should be rare due to low damage.
|
||||||
var/reagent_amount = 15
|
var/reagent_amount = 15
|
||||||
kill_count = 10 //shorter range
|
kill_count = 15 //shorter range
|
||||||
|
|
||||||
/obj/item/projectile/bullet/chemdart/New()
|
/obj/item/projectile/bullet/chemdart/New()
|
||||||
reagents = new/datum/reagents(reagent_amount)
|
reagents = new/datum/reagents(reagent_amount)
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
/obj/item/ammo_casing/chemdart
|
/obj/item/ammo_casing/chemdart
|
||||||
name = "chemical dart"
|
name = "chemical dart"
|
||||||
desc = "A small hollow dart."
|
desc = "A small hardened, hollow dart."
|
||||||
icon_state = "dart"
|
icon_state = "dart"
|
||||||
caliber = "dart"
|
caliber = "dart"
|
||||||
projectile_type = /obj/item/projectile/bullet/chemdart
|
projectile_type = /obj/item/projectile/bullet/chemdart
|
||||||
|
|||||||
@@ -21,9 +21,8 @@
|
|||||||
|
|
||||||
if(ismob(A))
|
if(ismob(A))
|
||||||
if(iscarbon(A))
|
if(iscarbon(A))
|
||||||
//squishy mobs absorb KE
|
if (damage <= 20 && !prob(damage)) return 0
|
||||||
if (damage <= 20) return 0
|
damage *= 0.7 //squishy mobs absorb KE
|
||||||
damage *= 0.7
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(istype(A, /obj/machinery) || istype(A, /obj/structure))
|
if(istype(A, /obj/machinery) || istype(A, /obj/structure))
|
||||||
|
|||||||
@@ -6,11 +6,12 @@
|
|||||||
check_armour = "energy"
|
check_armour = "energy"
|
||||||
|
|
||||||
|
|
||||||
//releases a very short burst of light on impact, mainly used to blind people
|
//releases a burst of light on impact or after travelling a distance
|
||||||
/obj/item/projectile/energy/flash
|
/obj/item/projectile/energy/flash
|
||||||
name = "shell" //a chemical filled shell or something
|
name = "chemical shell"
|
||||||
icon_state = "bullet"
|
icon_state = "bullet"
|
||||||
damage = 5
|
damage = 5
|
||||||
|
kill_count = 15 //if the shell hasn't hit anything after travelling this far it just explodes.
|
||||||
var/flash_range = 0
|
var/flash_range = 0
|
||||||
var/brightness = 7
|
var/brightness = 7
|
||||||
var/light_duration = 5
|
var/light_duration = 5
|
||||||
|
|||||||
2300
maps/exodus-1.dmm
2300
maps/exodus-1.dmm
File diff suppressed because it is too large
Load Diff
@@ -705,7 +705,7 @@
|
|||||||
"nC" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
"nC" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
||||||
"nD" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
"nD" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
||||||
"nE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
"nE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
||||||
"nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
"nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/ammo_magazine/mc9mm/flash,/obj/item/weapon/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||||
"nG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
|
"nG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
|
||||||
"nH" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
|
"nH" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
|
||||||
"nI" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
"nI" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||||
|
|||||||
Reference in New Issue
Block a user