mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Removed one line ifs and elses. (#11389)
This commit is contained in:
@@ -67,12 +67,14 @@
|
||||
O.emp_act(severity)
|
||||
|
||||
/obj/item/weapon/gun/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
|
||||
return
|
||||
if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this?
|
||||
if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy))
|
||||
return//Shouldnt flag take care of this?
|
||||
if(user && user.client && user.client.gun_mode && !(A in target))
|
||||
PreFire(A,user,params, "struggle" = struggle) //They're using the new gun system, locate what they're aiming at.
|
||||
else
|
||||
|
||||
@@ -17,10 +17,14 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/energy/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply.use(charge_cost)) return 0
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!power_supply)
|
||||
return 0
|
||||
if(!power_supply.use(charge_cost))
|
||||
return 0
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
in_chamber = new projectile_type(src)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/gravitywell/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(charge >= maxcharge)
|
||||
charge = 0
|
||||
update_icon()
|
||||
|
||||
@@ -94,9 +94,11 @@ obj/item/weapon/gun/energy/laser/retro
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/captain/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
return 1
|
||||
@@ -128,10 +130,12 @@ obj/item/weapon/gun/energy/laser/retro
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
|
||||
charge_tick++
|
||||
if(charge_tick < 3) return 0
|
||||
if(charge_tick < 3)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
|
||||
if(!power_supply) return 0 //sanity
|
||||
if(!power_supply)
|
||||
return 0 //sanity
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
@@ -287,9 +291,11 @@ obj/item/weapon/gun/energy/laser/retro
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/bluetag/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
return 1
|
||||
@@ -327,9 +333,11 @@ obj/item/weapon/gun/energy/laser/retro
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/redtag/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
@@ -53,11 +53,14 @@
|
||||
|
||||
process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
if((power_supply.charge / power_supply.maxcharge) != 1)
|
||||
if(!failcheck()) return 0
|
||||
if(!failcheck())
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
return 1
|
||||
@@ -66,7 +69,8 @@
|
||||
proc
|
||||
failcheck()
|
||||
lightfail = 0
|
||||
if (prob(src.reliability)) return 1 //No failure
|
||||
if (prob(src.reliability))
|
||||
return 1 //No failure
|
||||
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
|
||||
if (src in M.contents)
|
||||
|
||||
@@ -65,9 +65,11 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","fur
|
||||
|
||||
/obj/item/weapon/gun/energy/staff/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(200)
|
||||
return 1
|
||||
|
||||
@@ -75,7 +77,8 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","fur
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/staff/process_chambered()
|
||||
if(!..()) return 0
|
||||
if(!..())
|
||||
return 0
|
||||
var/obj/item/projectile/change/P=in_chamber
|
||||
if(P && istype(P))
|
||||
P.changetype=changetype
|
||||
@@ -235,9 +238,11 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","fur
|
||||
|
||||
/obj/item/weapon/gun/energy/floragun/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
return 1
|
||||
@@ -326,9 +331,11 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","fur
|
||||
|
||||
/obj/item/weapon/gun/energy/meteorgun/process()
|
||||
charge_tick++
|
||||
if(charge_tick < recharge_time) return 0
|
||||
if(charge_tick < recharge_time)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
|
||||
/obj/item/weapon/gun/energy/meteorgun/update_icon()
|
||||
@@ -422,10 +429,12 @@ obj/item/weapon/gun/energy/staff/focus/attack_self(mob/living/user as mob)
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
|
||||
charge_tick++
|
||||
if(charge_tick < 3) return 0
|
||||
if(charge_tick < 3)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
|
||||
if(!power_supply) return 0 //sanity
|
||||
if(!power_supply)
|
||||
return 0 //sanity
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
@@ -464,9 +473,11 @@ obj/item/weapon/gun/energy/staff/focus/attack_self(mob/living/user as mob)
|
||||
|
||||
/obj/item/weapon/gun/energy/radgun/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
return 1
|
||||
@@ -505,7 +516,8 @@ obj/item/weapon/gun/energy/staff/focus/attack_self(mob/living/user as mob)
|
||||
power_supply.charge = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/bison/attack_self(mob/user as mob)
|
||||
if(pumping || !power_supply) return
|
||||
if(pumping || !power_supply)
|
||||
return
|
||||
pumping = 1
|
||||
power_supply.charge = min(power_supply.charge + 200,power_supply.maxcharge)
|
||||
if(power_supply.charge >= power_supply.maxcharge)
|
||||
@@ -634,9 +646,11 @@ obj/item/weapon/gun/energy/staff/focus/attack_self(mob/living/user as mob)
|
||||
|
||||
/obj/item/weapon/gun/energy/polarstar/spur/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 2) return 0
|
||||
if(charge_tick < 2)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
levelChange()
|
||||
return 1
|
||||
|
||||
@@ -31,10 +31,12 @@
|
||||
|
||||
/obj/item/weapon/gun/energy/taser/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
|
||||
charge_tick++
|
||||
if(charge_tick < recharge_time) return 0
|
||||
if(charge_tick < recharge_time)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
|
||||
if(!power_supply) return 0 //sanity
|
||||
if(!power_supply)
|
||||
return 0 //sanity
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
@@ -94,9 +96,11 @@
|
||||
|
||||
/obj/item/weapon/gun/energy/crossbow/process()
|
||||
charge_tick++
|
||||
if(charge_tick < 4) return 0
|
||||
if(charge_tick < 4)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
if(!power_supply) return 0
|
||||
if(!power_supply)
|
||||
return 0
|
||||
power_supply.give(100)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -81,9 +81,12 @@
|
||||
charge_cost = 300
|
||||
powercost = "High"
|
||||
switch(powercost)
|
||||
if("High") powercostcolor = "orange"
|
||||
if("Medium") powercostcolor = "green"
|
||||
else powercostcolor = "blue"
|
||||
if("High")
|
||||
powercostcolor = "orange"
|
||||
if("Medium")
|
||||
powercostcolor = "green"
|
||||
else
|
||||
powercostcolor = "blue"
|
||||
if(target_temperature != temperature)
|
||||
var/difference = abs(target_temperature - temperature)
|
||||
if(difference >= (10 + 40*emagged)) //so emagged temp guns adjust their temperature much more quickly
|
||||
@@ -157,16 +160,26 @@
|
||||
/obj/item/weapon/gun/energy/temperature/proc/update_charge()
|
||||
var/charge = power_supply.charge
|
||||
switch(charge)
|
||||
if(900 to INFINITY) overlays += image(icon = icon, icon_state = "900")
|
||||
if(800 to 900) overlays += image(icon = icon, icon_state = "800")
|
||||
if(700 to 800) overlays += image(icon = icon, icon_state = "700")
|
||||
if(600 to 700) overlays += image(icon = icon, icon_state = "600")
|
||||
if(500 to 600) overlays += image(icon = icon, icon_state = "500")
|
||||
if(400 to 500) overlays += image(icon = icon, icon_state = "400")
|
||||
if(300 to 400) overlays += image(icon = icon, icon_state = "300")
|
||||
if(200 to 300) overlays += image(icon = icon, icon_state = "200")
|
||||
if(100 to 200) overlays += image(icon = icon, icon_state = "100")
|
||||
if(-INFINITY to 100) overlays += image(icon = icon, icon_state = "0")
|
||||
if(900 to INFINITY)
|
||||
overlays += image(icon = icon, icon_state = "900")
|
||||
if(800 to 900)
|
||||
overlays += image(icon = icon, icon_state = "800")
|
||||
if(700 to 800)
|
||||
overlays += image(icon = icon, icon_state = "700")
|
||||
if(600 to 700)
|
||||
overlays += image(icon = icon, icon_state = "600")
|
||||
if(500 to 600)
|
||||
overlays += image(icon = icon, icon_state = "500")
|
||||
if(400 to 500)
|
||||
overlays += image(icon = icon, icon_state = "400")
|
||||
if(300 to 400)
|
||||
overlays += image(icon = icon, icon_state = "300")
|
||||
if(200 to 300)
|
||||
overlays += image(icon = icon, icon_state = "200")
|
||||
if(100 to 200)
|
||||
overlays += image(icon = icon, icon_state = "100")
|
||||
if(-INFINITY to 100)
|
||||
overlays += image(icon = icon, icon_state = "0")
|
||||
|
||||
/obj/item/weapon/gun/energy/temperature/proc/update_user()
|
||||
if (istype(loc,/mob/living/carbon))
|
||||
|
||||
@@ -88,7 +88,8 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/gun/hookshot/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)//clicking anywhere reels the target to the player.
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(check_tether())
|
||||
if(istype(chain_datum.extremity_B,/mob/living/carbon))
|
||||
var/mob/living/carbon/C = chain_datum.extremity_B
|
||||
|
||||
@@ -304,8 +304,10 @@
|
||||
switch(firing_mode)
|
||||
if(STUN)
|
||||
if(L.stuncharge >= 20)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
in_chamber = new projectile_type(src)
|
||||
L.stuncharge -= 20
|
||||
return 1
|
||||
@@ -313,8 +315,10 @@
|
||||
return 0
|
||||
if(LASER)
|
||||
if(L.lasercharge >= 20)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
in_chamber = new projectile_type(src)
|
||||
L.lasercharge -= 20
|
||||
return 1
|
||||
@@ -322,8 +326,10 @@
|
||||
return 0
|
||||
if(RAPID)
|
||||
if(L.rapid_ammo_count >= 1)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
in_chamber = new projectile_type(src)
|
||||
L.rapid_ammo_count -= 1
|
||||
return 1
|
||||
@@ -331,8 +337,10 @@
|
||||
return 0
|
||||
if(FLARE)
|
||||
if(L.flare_ammo_count >= 1)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
in_chamber = new projectile_type(src)
|
||||
L.flare_ammo_count -= 1
|
||||
return 1
|
||||
@@ -340,8 +348,10 @@
|
||||
return 0
|
||||
if(RICOCHET)
|
||||
if(L.ricochet_ammo_count >= 1)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
in_chamber = new projectile_type(src)
|
||||
L.ricochet_ammo_count -= 1
|
||||
return 1
|
||||
@@ -357,36 +367,46 @@
|
||||
switch(firing_mode)
|
||||
if(STUN)
|
||||
if(L.stuncharge >= 20)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
if(LASER)
|
||||
if(L.lasercharge >= 20)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
if(RAPID)
|
||||
if(L.rapid_ammo_count >= 1)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
if(FLARE)
|
||||
if(L.flare_ammo_count >= 1)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
if(RICOCHET)
|
||||
if(L.ricochet_ammo_count >= 1)
|
||||
if(in_chamber) return 1
|
||||
if(!projectile_type) return 0
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!projectile_type)
|
||||
return 0
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
@@ -425,12 +445,14 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/gun/lawgiver/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
|
||||
return
|
||||
if(istype(A, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this?
|
||||
if(istype(A, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy))
|
||||
return//Shouldnt flag take care of this?
|
||||
|
||||
if(dna_profile)
|
||||
if(dna_profile != user.dna.unique_enzymes)
|
||||
|
||||
@@ -240,7 +240,8 @@
|
||||
speed = ((fire_force*2)/5)
|
||||
|
||||
speed = speed * damage_multiplier
|
||||
if(speed>80) speed = 80 //damage cap.
|
||||
if(speed>80)
|
||||
speed = 80 //damage cap.
|
||||
|
||||
var/distance = round((20/loaded_item.w_class)*(fuel_level/10))
|
||||
|
||||
|
||||
@@ -134,7 +134,8 @@
|
||||
flamethrower_window(user)
|
||||
|
||||
/obj/item/weapon/gun/projectile/flamethrower/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(user.stat || user.restrained() || user.lying) return
|
||||
if(user.stat || user.restrained() || user.lying)
|
||||
return
|
||||
if(iswrench(W) && !status)//Taking this apart
|
||||
var/turf/T = get_turf(src)
|
||||
if(weldtool)
|
||||
@@ -158,8 +159,10 @@
|
||||
|
||||
if(isigniter(W))
|
||||
var/obj/item/device/assembly/igniter/I = W
|
||||
if(I.secured) return
|
||||
if(igniter) return
|
||||
if(I.secured)
|
||||
return
|
||||
if(igniter)
|
||||
return
|
||||
if(user.drop_item(I, src))
|
||||
igniter = I
|
||||
update_icon()
|
||||
@@ -186,7 +189,8 @@
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/flamethrower/attack_self(mob/user as mob)
|
||||
if(user.stat || user.restrained() || user.lying) return
|
||||
if(user.stat || user.restrained() || user.lying)
|
||||
return
|
||||
window_open = 1
|
||||
flamethrower_window(user)
|
||||
return
|
||||
@@ -204,10 +208,12 @@
|
||||
usr.unset_machine()
|
||||
window_open = 0
|
||||
return
|
||||
if(usr.stat || usr.restrained() || usr.lying) return
|
||||
if(usr.stat || usr.restrained() || usr.lying)
|
||||
return
|
||||
usr.set_machine(src)
|
||||
if(href_list["light"])
|
||||
if(!status) return
|
||||
if(!status)
|
||||
return
|
||||
lit = !lit
|
||||
if(lit)
|
||||
processing_objects.Add(src)
|
||||
|
||||
@@ -93,7 +93,8 @@
|
||||
click_empty(user)
|
||||
return
|
||||
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
|
||||
var/obj/item/projectile/bullet/stinger/S = new(null)
|
||||
in_chamber = S
|
||||
|
||||
@@ -233,7 +233,8 @@
|
||||
if(C.stored_charge <=0)
|
||||
click_empty(user)
|
||||
return
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
return
|
||||
|
||||
@@ -133,7 +133,8 @@
|
||||
click_empty(user)
|
||||
return
|
||||
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
return
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
to_chat(user, "<span class='info'>It has [current_ammo] round\s remaining.</span>")
|
||||
|
||||
/obj/item/weapon/gun/mahoguny/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
|
||||
@@ -50,7 +51,8 @@
|
||||
..(newturf,user,params,reflex,struggle)
|
||||
|
||||
/obj/item/weapon/gun/mahoguny/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/gun/mahoguny/attackby(obj/item/W, mob/user)
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
to_chat(user, "<span class='info'>Has [current_shells] round\s remaining.</span>")
|
||||
|
||||
/obj/item/weapon/gun/gatling/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
|
||||
@@ -52,7 +53,8 @@
|
||||
slowdown = 0
|
||||
|
||||
/obj/item/weapon/gun/gatling/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(current_shells)
|
||||
current_shells--
|
||||
update_icon()
|
||||
@@ -113,7 +115,8 @@
|
||||
slowdown = 0
|
||||
|
||||
/obj/item/weapon/gun/gatling/beegun/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(current_shells)
|
||||
current_shells--
|
||||
update_icon()
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/gun/projectile/nagant/attack_self(mob/living/user as mob)
|
||||
if(recentpump) return
|
||||
if(recentpump)
|
||||
return
|
||||
pump(user)
|
||||
recentpump = 1
|
||||
spawn(10)
|
||||
@@ -87,7 +88,8 @@
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
/obj/item/weapon/gun/projectile/nagant/obrez/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(current_shell && current_shell.BB)
|
||||
//explosion(src.loc,-1,1,2)
|
||||
var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread()
|
||||
|
||||
@@ -37,16 +37,19 @@
|
||||
to_chat(user, "<span class='info'>Has [energy_balls] dark energy core\s remaining.</span>")
|
||||
|
||||
/obj/item/weapon/gun/osipr/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
switch(mode)
|
||||
if(OSIPR_PRIMARY_FIRE)
|
||||
if(!magazine || !magazine.bullets) return 0
|
||||
if(!magazine || !magazine.bullets)
|
||||
return 0
|
||||
magazine.bullets--
|
||||
update_icon()
|
||||
in_chamber = new magazine.bullet_type()
|
||||
return 1
|
||||
if(OSIPR_SECONDARY_FIRE)
|
||||
if(!energy_balls) return 0
|
||||
if(!energy_balls)
|
||||
return 0
|
||||
energy_balls--
|
||||
in_chamber = new/obj/item/projectile/energy/osipr()
|
||||
return 1
|
||||
|
||||
@@ -128,7 +128,8 @@
|
||||
|
||||
var/obj/item/object = contents[1]
|
||||
var/speed = ((fire_pressure*tank.volume)/object.w_class)/force_divisor //projectile speed.
|
||||
if(speed>80) speed = 80 //damage cap.
|
||||
if(speed>80)
|
||||
speed = 80 //damage cap.
|
||||
|
||||
user.visible_message("<span class='danger'>[user] fires [src] and launches [object] at [target]!</span>","<span class='danger'>You fire [src] and launch [object] at [target]!</span>")
|
||||
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
set desc = "Click to rename your gun. If you're the detective."
|
||||
|
||||
var/mob/M = usr
|
||||
if(!M.mind) return 0
|
||||
if(!M.mind)
|
||||
return 0
|
||||
if(!M.mind.assigned_role == "Detective")
|
||||
to_chat(M, "<span class='notice'>You don't feel cool enough to name this gun, chump.</span>")
|
||||
return 0
|
||||
@@ -112,7 +113,8 @@
|
||||
|
||||
/obj/item/weapon/gun/projectile/russian/attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
|
||||
if(!A) return
|
||||
if(!A)
|
||||
return
|
||||
|
||||
var/num_loaded = 0
|
||||
if(istype(A, /obj/item/ammo_casing)) //loading rounds one by one
|
||||
|
||||
@@ -72,7 +72,8 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/roulette_revolver/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
return
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/attack_self(mob/living/user as mob)
|
||||
if(recentpump) return
|
||||
if(recentpump)
|
||||
return
|
||||
pump(user)
|
||||
recentpump = 1
|
||||
spawn(10)
|
||||
|
||||
@@ -57,7 +57,8 @@
|
||||
recoil = 0
|
||||
|
||||
/obj/item/weapon/gun/siren/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params, struggle = 0)
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(flag)
|
||||
return //we're placing gun on a table or in backpack
|
||||
if(harm_labeled >= min_harm_label)
|
||||
to_chat(user, "<span class='warning'>A label sticks the trigger to the trigger guard!</span>")//Such a new feature, the player might not know what's wrong if it doesn't tell them.
|
||||
|
||||
@@ -82,5 +83,6 @@
|
||||
Fire(A,user,params, "struggle" = struggle)
|
||||
|
||||
/obj/item/weapon/gun/siren/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
return 0
|
||||
@@ -73,7 +73,8 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/stickybomb/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(loaded.len)
|
||||
var/obj/item/stickybomb/B = pick(loaded)
|
||||
loaded -= B
|
||||
|
||||
@@ -34,7 +34,8 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/portalgun/process_chambered()
|
||||
if(in_chamber) return 1
|
||||
if(in_chamber)
|
||||
return 1
|
||||
in_chamber = new/obj/item/projectile/portalgun(src)
|
||||
var/obj/item/projectile/portalgun/P = in_chamber
|
||||
P.icon_state = "portalgun[setting]"
|
||||
|
||||
@@ -121,17 +121,21 @@ var/list/impact_master = list()
|
||||
super_speed = 1
|
||||
|
||||
/obj/item/projectile/proc/on_hit(var/atom/atarget, var/blocked = 0)
|
||||
if(blocked >= 2) return 0//Full block
|
||||
if(!isliving(atarget)) return 0
|
||||
if(blocked >= 2)
|
||||
return 0//Full block
|
||||
if(!isliving(atarget))
|
||||
return 0
|
||||
// FUCK mice. - N3X
|
||||
if(ismouse(atarget) && (stun+weaken+paralyze+agony)>5)
|
||||
var/mob/living/simple_animal/mouse/M=atarget
|
||||
to_chat(M, "<span class='warning'>What would probably not kill a human completely overwhelms your tiny body.</span>")
|
||||
M.splat()
|
||||
return 1
|
||||
if(isanimal(atarget)) return 0
|
||||
if(isanimal(atarget))
|
||||
return 0
|
||||
var/mob/living/L = atarget
|
||||
if(L.flags & INVULNERABLE) return 0
|
||||
if(L.flags & INVULNERABLE)
|
||||
return 0
|
||||
L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY!
|
||||
if(jittery)
|
||||
L.Jitter(jittery)
|
||||
@@ -191,7 +195,8 @@ var/list/impact_master = list()
|
||||
loc = A.loc
|
||||
return 0 //cannot shoot yourself, unless an ablative armor sent back the projectile
|
||||
|
||||
if(bumped) return 0
|
||||
if(bumped)
|
||||
return 0
|
||||
var/forcedodge = 0 // force the projectile to pass
|
||||
|
||||
bumped = 1
|
||||
@@ -353,7 +358,8 @@ var/list/impact_master = list()
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/Cross(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
||||
if(air_group || (height==0)) return 1
|
||||
if(air_group || (height==0))
|
||||
return 1
|
||||
|
||||
if(istype(mover, /obj/item/projectile))
|
||||
return prob(95)
|
||||
|
||||
@@ -267,9 +267,11 @@ var/list/beam_master = list()
|
||||
cleanedup = 1
|
||||
sleep(2)
|
||||
|
||||
else sleep(1)
|
||||
else
|
||||
sleep(1)
|
||||
|
||||
if(cleanedup) sleep(2)
|
||||
if(cleanedup)
|
||||
sleep(2)
|
||||
var/list/turf_master = beam_master[reference]
|
||||
|
||||
for(var/laser_state in turf_master)
|
||||
@@ -358,8 +360,10 @@ var/list/beam_master = list()
|
||||
|
||||
var/Pixel_x=round(sin(Angle)+WORLD_ICON_SIZE*sin(Angle)*(N+WORLD_ICON_SIZE/2)/WORLD_ICON_SIZE/2)
|
||||
var/Pixel_y=round(cos(Angle)+WORLD_ICON_SIZE*cos(Angle)*(N+WORLD_ICON_SIZE/2)/WORLD_ICON_SIZE)
|
||||
if(DX==0) Pixel_x=0
|
||||
if(DY==0) Pixel_y=0
|
||||
if(DX==0)
|
||||
Pixel_x=0
|
||||
if(DY==0)
|
||||
Pixel_y=0
|
||||
if(Pixel_x>WORLD_ICON_SIZE)
|
||||
for(var/a=0, a<=Pixel_x,a+=WORLD_ICON_SIZE)
|
||||
X.x++
|
||||
@@ -793,8 +797,10 @@ var/list/beam_master = list()
|
||||
|
||||
var/Pixel_x=round(sin(Angle)+WORLD_ICON_SIZE*sin(Angle)*(N+WORLD_ICON_SIZE/2)/WORLD_ICON_SIZE)
|
||||
var/Pixel_y=round(cos(Angle)+WORLD_ICON_SIZE*cos(Angle)*(N+WORLD_ICON_SIZE/2)/WORLD_ICON_SIZE)
|
||||
if(DX==0) Pixel_x=0
|
||||
if(DY==0) Pixel_y=0
|
||||
if(DX==0)
|
||||
Pixel_x=0
|
||||
if(DY==0)
|
||||
Pixel_y=0
|
||||
if(Pixel_x>WORLD_ICON_SIZE)
|
||||
for(var/a=0, a<=Pixel_x,a+=WORLD_ICON_SIZE)
|
||||
X.x++
|
||||
|
||||
@@ -342,7 +342,8 @@
|
||||
if(istype(atarget, /mob/living) && damage == 200)
|
||||
var/mob/living/M = atarget
|
||||
M.gib()
|
||||
else ..()
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/APS/OnFired()
|
||||
..()
|
||||
|
||||
@@ -57,7 +57,8 @@
|
||||
new_mob.setGender(M.gender)
|
||||
var/mob/living/carbon/monkey/Monkey = new_mob
|
||||
Monkey.languages |= M.languages
|
||||
if(M.default_language) Monkey.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
Monkey.default_language = M.default_language
|
||||
if("robot")
|
||||
new_mob = new /mob/living/silicon/robot(M.loc)
|
||||
new_mob.setGender(M.gender)
|
||||
@@ -67,7 +68,8 @@
|
||||
Robot.mmi = new /obj/item/device/mmi(new_mob)
|
||||
Robot.mmi.transfer_identity(M) //Does not transfer key/client.
|
||||
Robot.languages |= M.languages
|
||||
if(M.default_language) Robot.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
Robot.default_language = M.default_language
|
||||
if("mommi")
|
||||
new_mob = new /mob/living/silicon/robot/mommi(M.loc)
|
||||
new_mob.setGender(M.gender)
|
||||
@@ -77,7 +79,8 @@
|
||||
MoMMI.mmi = new /obj/item/device/mmi(new_mob)
|
||||
MoMMI.mmi.transfer_identity(M) //Does not transfer key/client.
|
||||
MoMMI.languages |= M.languages
|
||||
if(M.default_language) MoMMI.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
MoMMI.default_language = M.default_language
|
||||
if("slime")
|
||||
var/slimey = pick("",\
|
||||
"/purple",\
|
||||
@@ -110,17 +113,23 @@
|
||||
new_mob.setGender(M.gender)
|
||||
var/mob/living/carbon/slime/Slime = new_mob
|
||||
Slime.languages |= M.languages
|
||||
if(M.default_language) Slime.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
Slime.default_language = M.default_language
|
||||
if("xeno")
|
||||
var/alien_caste = pick("Hunter","Sentinel","Drone","Larva")
|
||||
switch(alien_caste)
|
||||
if("Hunter") new_mob = new /mob/living/carbon/alien/humanoid/hunter(M.loc)
|
||||
if("Sentinel") new_mob = new /mob/living/carbon/alien/humanoid/sentinel(M.loc)
|
||||
if("Drone") new_mob = new /mob/living/carbon/alien/humanoid/drone(M.loc)
|
||||
else new_mob = new /mob/living/carbon/alien/larva(M.loc)
|
||||
if("Hunter")
|
||||
new_mob = new /mob/living/carbon/alien/humanoid/hunter(M.loc)
|
||||
if("Sentinel")
|
||||
new_mob = new /mob/living/carbon/alien/humanoid/sentinel(M.loc)
|
||||
if("Drone")
|
||||
new_mob = new /mob/living/carbon/alien/humanoid/drone(M.loc)
|
||||
else
|
||||
new_mob = new /mob/living/carbon/alien/larva(M.loc)
|
||||
var/mob/living/carbon/alien/Alien = new_mob
|
||||
Alien.languages |= M.languages
|
||||
if(M.default_language) Alien.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
Alien.default_language = M.default_language
|
||||
if("human")
|
||||
new_mob = new /mob/living/carbon/human(M.loc, delay_ready_dna=1)
|
||||
|
||||
@@ -137,7 +146,8 @@
|
||||
H.set_species(newspecies)
|
||||
H.generate_name()
|
||||
H.languages |= M.languages
|
||||
if(M.default_language) H.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
H.default_language = M.default_language
|
||||
if("furry")
|
||||
new_mob = new /mob/living/carbon/human(M.loc, delay_ready_dna=1)
|
||||
|
||||
@@ -152,7 +162,8 @@
|
||||
var/mob/living/carbon/human/H = new_mob
|
||||
H.set_species("Tajaran") // idfk
|
||||
H.languages |= M.languages
|
||||
if(M.default_language) H.default_language = M.default_language
|
||||
if(M.default_language)
|
||||
H.default_language = M.default_language
|
||||
H.generate_name()
|
||||
if("frankenstein")
|
||||
new_mob = new /mob/living/carbon/human/frankenstein(M.loc, delay_ready_dna=1)
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
var/throwdir = null
|
||||
|
||||
for(var/mob/M in hearers(1, src))
|
||||
if(M == firer) continue
|
||||
if(M == firer)
|
||||
continue
|
||||
if(M.loc != src.loc)
|
||||
throwdir = get_dir(src,target)
|
||||
if(prob(75))
|
||||
|
||||
@@ -87,7 +87,8 @@
|
||||
..()
|
||||
|
||||
/obj/item/projectile/hookshot/Bump(atom/A as mob|obj|turf|area)
|
||||
if(bumped) return 0
|
||||
if(bumped)
|
||||
return 0
|
||||
bumped = 1
|
||||
|
||||
var/obj/item/weapon/gun/hookshot/hookshot = shot_from
|
||||
|
||||
@@ -225,7 +225,8 @@
|
||||
OnDeath()
|
||||
|
||||
/obj/item/projectile/ricochet/Bump(atom/A as mob|obj|turf|area)
|
||||
if(bumped) return 0
|
||||
if(bumped)
|
||||
return 0
|
||||
bumped = 1
|
||||
|
||||
if(A)
|
||||
|
||||
@@ -215,7 +215,8 @@ obj/item/projectile/kinetic/New()
|
||||
*/
|
||||
|
||||
/obj/item/projectile/kinetic/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(!loc) return
|
||||
if(!loc)
|
||||
return
|
||||
var/turf/target_turf = get_turf(target)
|
||||
//testing("Hit [target.type], on [target_turf.type].")
|
||||
if(istype(target_turf, /turf/unsimulated/mineral))
|
||||
@@ -225,7 +226,8 @@ obj/item/projectile/kinetic/New()
|
||||
..(target,blocked)
|
||||
|
||||
/obj/item/projectile/kinetic/Bump(atom/A as mob|obj|turf|area)
|
||||
if(!loc) return
|
||||
if(!loc)
|
||||
return
|
||||
if(A == firer)
|
||||
loc = A.loc
|
||||
return
|
||||
@@ -268,7 +270,8 @@ obj/item/projectile/kinetic/New()
|
||||
|
||||
|
||||
/obj/item/projectile/stickybomb/Bump(atom/A as mob|obj|turf|area)
|
||||
if(bumped) return 0
|
||||
if(bumped)
|
||||
return 0
|
||||
bumped = 1
|
||||
|
||||
if(A)
|
||||
@@ -352,6 +355,7 @@ obj/item/projectile/kinetic/New()
|
||||
return
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T) return
|
||||
if(!T)
|
||||
return
|
||||
|
||||
new /obj/effect/fire_blast(T, fire_damage, stepped_range, 1, pressure, temperature)
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
//Compute how to fire.....
|
||||
/obj/item/weapon/gun/proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params, struggle = 0)
|
||||
//Lets not spam it.
|
||||
if(lock_time > world.time - 2) return
|
||||
if(lock_time > world.time - 2)
|
||||
return
|
||||
. //the rare and mystical rogue ".". nobody knows what this majestic beast does or why is it here. not even why it compiles is known for certain. legend says should it be touched, everything will probably break; but nobody dares try.
|
||||
if(ismob(A) && isliving(A) && !(A in target))
|
||||
Aim(A) //Clicked a mob, aim at them
|
||||
@@ -74,8 +75,10 @@
|
||||
//HE MOVED, SHOOT HIM!
|
||||
/obj/item/weapon/gun/proc/TargetActed(var/mob/living/T)
|
||||
var/mob/living/M = loc
|
||||
if(M == T) return
|
||||
if(!istype(M)) return
|
||||
if(M == T)
|
||||
return
|
||||
if(!istype(M))
|
||||
return
|
||||
if(src != M.get_active_hand())
|
||||
stop_aim()
|
||||
return
|
||||
@@ -107,17 +110,21 @@ proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16)
|
||||
var/turf/T
|
||||
var/mob/living/M
|
||||
if(X1==X2)
|
||||
if(Y1==Y2) return 0 //Light cannot be blocked on same tile
|
||||
if(Y1==Y2)
|
||||
return 0 //Light cannot be blocked on same tile
|
||||
else
|
||||
var/s = SIGN(Y2-Y1)
|
||||
Y1+=s
|
||||
while(1)
|
||||
T = locate(X1,Y1,Z)
|
||||
if(!T) return 0
|
||||
if(!T)
|
||||
return 0
|
||||
M = locate() in T
|
||||
if(M) return M
|
||||
if(M)
|
||||
return M
|
||||
M = locate() in orange(1,T)-exc_obj
|
||||
if(M) return M
|
||||
if(M)
|
||||
return M
|
||||
Y1+=s
|
||||
else
|
||||
var
|
||||
@@ -125,17 +132,23 @@ proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16)
|
||||
b=(Y1+PY1/WORLD_ICON_SIZE-0.015625)-m*(X1+PX1/WORLD_ICON_SIZE-0.015625) //In tiles
|
||||
signX = SIGN(X2-X1)
|
||||
signY = SIGN(Y2-Y1)
|
||||
if(X1<X2) b+=m
|
||||
if(X1<X2)
|
||||
b+=m
|
||||
while(1)
|
||||
var/xvert = round(m*X1+b-Y1)
|
||||
if(xvert) Y1+=signY //Line exits tile vertically
|
||||
else X1+=signX //Line exits tile horizontally
|
||||
if(xvert)
|
||||
Y1+=signY //Line exits tile vertically
|
||||
else
|
||||
X1+=signX //Line exits tile horizontally
|
||||
T = locate(X1,Y1,Z)
|
||||
if(!T) return 0
|
||||
if(!T)
|
||||
return 0
|
||||
M = locate() in T
|
||||
if(M) return M
|
||||
if(M)
|
||||
return M
|
||||
M = locate() in orange(1,T)-exc_obj
|
||||
if(M) return M
|
||||
if(M)
|
||||
return M
|
||||
return 0
|
||||
|
||||
|
||||
@@ -161,7 +174,8 @@ mob/living/proc/Targeted(var/obj/item/weapon/gun/I) //Self explanitory.
|
||||
for(var/mob/living/K in viewers(usr))
|
||||
K << 'sound/weapons/TargetOn.ogg'
|
||||
|
||||
if(!targeted_by) targeted_by = list()
|
||||
if(!targeted_by)
|
||||
targeted_by = list()
|
||||
targeted_by += I
|
||||
I.lock_time = world.time + 20 //Target has 2 second to realize they're targeted and stop (or target the opponent).
|
||||
to_chat(src, "((<span class='danger'>Your character is being targeted. They have 2 seconds to stop any click or move actions. </span>While targeted, they may \
|
||||
|
||||
Reference in New Issue
Block a user