Fixes paths, snipers, turrets, mechas, some other things.

This commit is contained in:
TheDZD
2016-05-31 22:50:59 -04:00
parent 8dcf46bf91
commit f7d4cbe108
24 changed files with 262 additions and 332 deletions
+1 -1
View File
@@ -35,7 +35,7 @@
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/crowbar, \
/obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/wirecutters, /obj/item/weapon/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer, /obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse, \
/obj/item/weapon/gun/energy/advtaser, /obj/item/weapon/melee/baton, /obj/item/weapon/gun/energy/gun)
/obj/item/weapon/gun/energy/gun/advtaser, /obj/item/weapon/melee/baton, /obj/item/weapon/gun/energy/gun)
strip_delay = 130
//Commander
+1 -1
View File
@@ -44,7 +44,7 @@
/obj/item/robot_parts/r_leg = 1,
/obj/item/stack/sheet/metal = 5,
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/gun/energy/advtaser = 1,
/obj/item/weapon/gun/energy/gun/advtaser = 1,
/obj/item/weapon/stock_parts/cell = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/robot_parts/r_arm = 1)
+1 -6
View File
@@ -26,7 +26,7 @@
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To switch between stun and lethal, click the weapon \
in your hand. To recharge this weapon, use a weapon recharger."
/obj/item/weapon/gun/energy/advtaser
/obj/item/weapon/gun/energy/gun/advtaser
description_info = "This is an energy weapon. To fire the weapon, have your gun mode set to 'fire', \
then click where you want to fire. To recharge this weapon, use a weapon recharger. \
To switch between insta-stun and disabler beams, click the weapon in your hand. This weapon can only fire through glass if it is set to disabler beams."
@@ -55,11 +55,6 @@
then click where you want to fire. After firing, you will need to pump the gun, by clicking on the gun in your hand. To reload, load more shotgun \
shells into the gun."
/obj/item/weapon/gun/projectile/heavysniper
description_info = "This is a ballistic weapon. To fire the weapon, have your gun mode set to 'fire', \
then click where you want to fire. The gun's chamber can be opened or closed by using it in your hand. To reload, open the chamber, add a new bullet \
then close it. To use the scope, use the appropriate verb in the object tab."
//*******
//*Melee*
//*******
+1 -1
View File
@@ -99,7 +99,7 @@
/datum/manufacture/taser
name = "Advanced Taser"
item = /obj/item/weapon/gun/energy/advtaser
item = /obj/item/weapon/gun/energy/gun/advtaser
cost1 = /obj/item/weapon/ore/iron
cname1 = "Iron"
amount1 = 15
@@ -66,7 +66,7 @@
if("Warden","Security Officer","Security Pod Pilot")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/
H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/gun/energy/gun/advtaser(H), slot_in_backpack)
if("Magistrate")
suit=/obj/item/clothing/suit/space/eva/plasmaman/magistrate
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/magistrate
@@ -158,7 +158,7 @@
return
newname = "redtag ED-209 assembly"
if("")
if(!istype(W, /obj/item/weapon/gun/energy/advtaser))
if(!istype(W, /obj/item/weapon/gun/energy/gun/advtaser))
return
newname = "taser ED-209 assembly"
else
@@ -365,7 +365,7 @@ Auto Patrol[]"},
new /obj/item/device/assembly/prox_sensor(Tsec)
if(!lasercolor)
var/obj/item/weapon/gun/energy/advtaser/G = new /obj/item/weapon/gun/energy/advtaser(Tsec)
var/obj/item/weapon/gun/energy/gun/advtaser/G = new /obj/item/weapon/gun/energy/gun/advtaser(Tsec)
G.power_supply.charge = 0
G.update_icon()
else if(lasercolor == "b")
@@ -262,7 +262,8 @@
var/obj/item/projectile/A = new projectiletype(src.loc)
playsound(user, projectilesound, 100, 1)
if(!A) return
if(!A)
return
A.current = target
A.firer = src
@@ -272,7 +273,7 @@
newtonian_move(get_dir(target, user))
A.original = target
spawn( 0 )
A.process()
A.fire()
return
/mob/living/simple_animal/hostile/proc/DestroySurroundings()
+2 -2
View File
@@ -81,8 +81,8 @@
//Split Y+Pixel_Y up into list(Y, Pixel_Y)
var/list/screen_loc_Y = splittext(screen_loc_params[2],":")
var/x = text2num(screen_loc_X[1]) * 32 + text2num(screen_loc_X[2]) - 32
var/y = text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32
var/x = text2num(screen_loc_X[1]) * world.icon_size + text2num(screen_loc_X[2]) - world.icon_size + (user.client ? user.client.pixel_x : 0)
var/y = text2num(screen_loc_Y[1]) * world.icon_size + text2num(screen_loc_Y[2]) - world.icon_size + (user.client ? user.client.pixel_y : 0)
//Calculate the "resolution" of screen based on client's view and world's icon size. This will work if the user can view more tiles than average.
var/screenview = (user.client.view * 2 + 1) * world.icon_size //Refer to http://www.byond.com/docs/ref/info.html#/client/var/view for mad maths
+1 -1
View File
@@ -187,7 +187,7 @@ obj/item/weapon/gun/proc/newshot()
sprd = round((rand() - 0.5) * spread)
else
sprd = round((i / burst_size - 0.5) * spread)
if(!chambered.fire(target, user, params, suppressed, zone_override, sprd))
if(!chambered.fire(target, user, params, ,suppressed, zone_override, sprd))
shoot_with_empty_chamber(user)
break
else
@@ -360,14 +360,6 @@
item_state = "instagibblue"
ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue)
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."
icon = 'icons/obj/wizard.dmi'
icon_state = "focus"
item_state = "focus"
ammo_type = list(/obj/item/ammo_casing/forcebolt)
/obj/item/weapon/gun/energy/clown
name = "HONK Rifle"
desc = "Clown Planet's finest."
+1
View File
@@ -4,6 +4,7 @@
icon = 'icons/obj/guns/magic.dmi'
icon_state = "staffofnothing"
item_state = "staff"
fire_sound = 'sound/weapons/emitter.ogg'
fire_sound_text = "energy blast"
flags = CONDUCT
w_class = 5
@@ -54,3 +54,11 @@ obj/item/weapon/gun/magic/staff/door
item_state = "honker"
max_charges = 4
recharge_rate = 8
obj/item/weapon/gun/magic/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."
icon = 'icons/obj/wizard.dmi'
icon_state = "focus"
item_state = "focus"
ammo_type = list(/obj/item/ammo_casing/forcebolt)
@@ -239,7 +239,7 @@ obj/item/projectile/kinetic/New()
if(istype(target_turf, /turf/simulated/mineral))
var/turf/simulated/mineral/M = target_turf
M.gets_drilled(firer)
new /obj/item/effect/kinetic_blast(target_turf)
new /obj/effect/kinetic_blast(target_turf)
if(splash)
for(var/turf/T in range(splash, target_turf))
if(istype(T, /turf/simulated/mineral))
@@ -252,7 +252,7 @@ obj/item/projectile/kinetic/New()
icon_state = "kinetic_blast"
layer = 4.1
/obj/item/effect/kinetic_blast/New()
/obj/effect/kinetic_blast/New()
spawn(4)
qdel(src)