Sprites & fixes

This commit is contained in:
TheDZD
2016-05-31 22:50:57 -04:00
parent a4e950d21a
commit 8dcf46bf91
51 changed files with 111 additions and 100 deletions
@@ -292,7 +292,7 @@
desc = "It's nerf or nothing! Ages 8 and up."
projectile_type = /obj/item/projectile/bullet/reusable/foam_dart
caliber = "foam_force"
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
icon_state = "foamdart"
var/modified = 0
+1 -1
View File
@@ -93,7 +93,7 @@
//FOAM DARTS
/obj/item/ammo_box/foambox
name = "ammo box (Foam Darts)"
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
icon_state = "foambox"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart
max_ammo = 40
@@ -25,7 +25,7 @@
/obj/item/ammo_casing/energy/laser/scatter
projectile_type = /obj/item/projectile/beam/scatter
pellets = 5
variance = 0.8
variance = 25
select_name = "scatter"
/obj/item/ammo_casing/energy/laser/heavy
@@ -216,7 +216,7 @@
projectile_type = /obj/item/projectile/beam/sniper
fire_sound = 'sound/weapons/marauder.ogg'
delay = 50
select_name = "sniper beam"
select_name = "snipe"
/obj/item/ammo_casing/energy/teleport
projectile_type = /obj/item/projectile/energy/teleport
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/item/ammo_casing/proc/fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, params, distro, quiet, zone_override = "",spread)
/obj/item/ammo_casing/proc/fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, params, distro, quiet, zone_override = "", spread)
distro += variance
for (var/i = max(1, pellets), i > 0, i--)
var/targloc = get_turf(target)
+7 -2
View File
@@ -1,7 +1,7 @@
/obj/item/weapon/gun
name = "gun"
desc = "It's a gun. It's pretty terrible, though."
icon = 'icons/obj/gun.dmi'
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "detective"
item_state = "gun"
flags = CONDUCT
@@ -182,7 +182,12 @@ obj/item/weapon/gun/proc/newshot()
if( i>1 && !(src in get_both_hands(user))) //for burst firing
break
if(chambered)
if(!chambered.fire(target, user, params, , suppressed, zone_override))
var/sprd = 0
if(randomspread)
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))
shoot_with_empty_chamber(user)
break
else
+1 -3
View File
@@ -3,14 +3,12 @@
name = "alien heavy cannon"
desc = "It's some kind of enormous alien weapon, as long as a man is tall."
icon = 'icons/obj/gun.dmi' //Actual on-sprite is handled by icon_override.
icon_state = "noisecannon"
item_state = "noisecannon"
recoil = 1
force = 10
ammo_type = "/obj/item/projectile/energy/sonic"
ammo_type = list(/obj/item/ammo_casing/energy/sonic)
cell_type = "/obj/item/weapon/stock_parts/cell/super"
fire_sound = 'sound/effects/basscannon.ogg'
/obj/item/weapon/gun/energy/noisecannon/attack_hand(mob/user as mob)
if(loc != user)
+1 -1
View File
@@ -2,7 +2,7 @@
icon_state = "energy"
name = "energy gun"
desc = "A basic energy-based gun."
fire_sound = 'sound/weapons/Taser.ogg'
icon = 'icons/obj/guns/energy.dmi'
fire_sound_text = "laser blast"
var/obj/item/weapon/stock_parts/cell/power_supply //What type of power cell this uses
@@ -1,7 +1,7 @@
/obj/item/weapon/gun/energy/gun
name = "energy gun"
desc = "A basic energy-based gun with two settings: kill and disable."
icon_state = "energystun100"
icon_state = "energy"
item_state = null //so the human update icon uses the icon_state instead.
ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser)
origin_tech = "combat=3;magnets=2"
@@ -37,10 +37,10 @@
can_flashlight = 0 // Can't attach or detach the flashlight, and override it's icon update
/obj/item/weapon/gun/energy/gun/mini/New()
power_supply.maxcharge = 6000
power_supply.charge = 6000
F = new /obj/item/device/flashlight/seclite(src)
..()
power_supply.maxcharge = 6000
power_supply.charge = 6000
/obj/item/weapon/gun/energy/gun/mini/update_icon()
..()
@@ -55,10 +55,10 @@
ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler)
ammo_x_offset = 4
/obj/item/weapon/gun/energy/blueshield
/obj/item/weapon/gun/energy/gun/blueshield
name = "advanced stun revolver"
desc = "An advanced stun revolver with the capacity to shoot both electrodes and lasers."
icon_state = "bsgun_stun"
icon_state = "bsgun"
force = 7
ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos)
ammo_x_offset = 4
+13 -8
View File
@@ -16,13 +16,13 @@
/obj/item/weapon/gun/energy/pulse/isHandgun()
return 0
/obj/item/weapon/gun/energy/pulse_rifle/cyborg
/obj/item/weapon/gun/energy/pulse/cyborg
/obj/item/weapon/gun/energy/pulse_rifle/cyborg/newshot()
/obj/item/weapon/gun/energy/pulse/cyborg/newshot()
..()
robocharge()
/obj/item/weapon/gun/energy/pulse_rifle/carbine
/obj/item/weapon/gun/energy/pulse/carbine
name = "pulse carbine"
desc = "A compact variant of the pulse rifle with less firepower but easier storage."
w_class = 3
@@ -34,7 +34,7 @@
flight_x_offset = 18
flight_y_offset = 12
/obj/item/weapon/gun/energy/pulse_rifle/pistol
/obj/item/weapon/gun/energy/pulse/pistol
name = "pulse pistol"
desc = "A pulse rifle in an easily concealed handgun package with low capacity."
w_class = 2
@@ -44,10 +44,10 @@
cell_type = "/obj/item/weapon/stock_parts/cell/pulse/pistol"
can_charge = 0
/obj/item/weapon/gun/energy/pulse_rifle/pistol/isHandgun()
/obj/item/weapon/gun/energy/pulse/pistol/isHandgun()
return 1
/obj/item/weapon/gun/energy/pulse_rifle/destroyer
/obj/item/weapon/gun/energy/pulse/destroyer
name = "pulse destroyer"
desc = "A heavy-duty, pulse-based energy weapon."
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
@@ -56,12 +56,17 @@
/obj/item/weapon/gun/energy/pulse/destroyer/attack_self(mob/living/user)
to_chat(user, "<span class='danger'>[name] has three settings, and they are all DESTROY.</span>")
/obj/item/weapon/gun/energy/pulse_rifle/pistol/m1911
/obj/item/weapon/gun/energy/pulse/destroyer/annihilator
name = "pulse ANNIHILATOR"
desc = "For when the situation calls for a little more than a pulse destroyer."
ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter/pulse)
/obj/item/weapon/gun/energy/pulse/pistol/m1911
name = "\improper M1911-P"
desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people."
icon_state = "m1911-p"
item_state = "gun"
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
/obj/item/weapon/gun/energy/pulse_rifle/pistol/m1911/isHandgun()
/obj/item/weapon/gun/energy/pulse/pistol/m1911/isHandgun()
return 1
@@ -45,7 +45,7 @@
/obj/item/weapon/gun/energy/floragun
name = "floral somatoray"
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
icon_state = "floramut100"
icon_state = "flora"
item_state = "gun"
fire_sound = 'sound/effects/stealthoff.ogg'
ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut)
@@ -57,6 +57,7 @@
/obj/item/weapon/gun/energy/meteorgun
name = "meteor gun"
desc = "For the love of god, make sure you're aiming this the right way!"
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "riotgun"
item_state = "c20r"
w_class = 4
@@ -320,7 +321,7 @@
name = "cyborg lmg"
desc = "A machinegun that fires 3d-printed flachettes slowly regenerated using a cyborg's internal power source."
icon_state = "l6closed0"
icon = 'icons/obj/gun.dmi'
icon = 'icons/obj/guns/projectile.dmi'
cell_type = "/obj/item/weapon/stock_parts/cell/secborg"
ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet)
can_charge = 0
@@ -370,7 +371,7 @@ obj/item/weapon/gun/energy/staff/focus
/obj/item/weapon/gun/energy/clown
name = "HONK Rifle"
desc = "Clown Planet's finest."
icon_state = "energy"
icon_state = "disabler"
ammo_type = list(/obj/item/ammo_casing/energy/clown)
clumsy_check = 0
@@ -386,9 +387,7 @@ obj/item/weapon/gun/energy/staff/focus
/obj/item/weapon/gun/energy/sniperrifle
name = "L.W.A.P. Sniper Rifle"
desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope."
icon = 'icons/obj/gun.dmi'
icon_state = "esniper"
fire_sound = 'sound/weapons/marauder.ogg'
origin_tech = "combat=6;materials=5;powerstorage=4"
ammo_type = list(/obj/item/ammo_casing/energy/sniper)
slot_flags = SLOT_BACK
@@ -398,7 +397,7 @@ obj/item/weapon/gun/energy/staff/focus
/obj/item/weapon/gun/energy/temperature
name = "temperature gun"
icon = 'icons/obj/gun_temperature.dmi'
icon = 'icons/obj/guns/gun_temperature.dmi'
icon_state = "tempgun_4"
item_state = "tempgun_4"
slot_flags = SLOT_BACK
@@ -1,7 +1,7 @@
/obj/item/weapon/gun/grenadelauncher
name = "grenade launcher"
desc = "a terrible, terrible thing. it's really awful!"
icon = 'icons/obj/gun.dmi'
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "riotgun"
item_state = "riotgun"
w_class = 4
+1 -2
View File
@@ -1,10 +1,9 @@
/obj/item/weapon/gun/magic
name = "staff of nothing"
desc = "This staff is boring to watch because even though it came first you've seen everything it can do in other staves for years."
icon = 'icons/obj/gun.dmi'
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
+5 -5
View File
@@ -1,8 +1,8 @@
/obj/item/weapon/gun/energy/advtaser/mounted
/obj/item/weapon/gun/energy/gun/advtaser/mounted
name = "mounted taser"
desc = "An arm mounted dual-mode weapon that fires electrodes and disabler shots."
icon_state = "taser"
item_state = "armcannonstun4"
icon_state = "armcannon"
item_state = "armcannon"
force = 5
flags = NODROP
w_class = 5
@@ -10,14 +10,14 @@
selfcharge = 1
trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses neural signals instead
/obj/item/weapon/gun/energy/advtaser/mounted/dropped()//if somebody manages to drop this somehow...
/obj/item/weapon/gun/energy/gun/advtaser/mounted/dropped()//if somebody manages to drop this somehow...
..()
loc = null//send it to nullspace to get retrieved by the implant later on. gotta cover those edge cases.
/obj/item/weapon/gun/energy/laser/mounted
name = "mounted laser"
desc = "An arm mounted cannon that fires lethal lasers. Doesn't come with a charge beam."
icon_state = "laser"
icon_state = "armcannon"
item_state = "armcannonlase"
force = 5
flags = NODROP
+2 -2
View File
@@ -154,7 +154,7 @@
/obj/item/weapon/suppressor
name = "suppressor"
desc = "A universal syndicate small-arms suppressor for maximum espionage."
icon = 'icons/obj/gun.dmi'
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "suppressor"
item_state = "suppressor"
w_class = 2
@@ -164,5 +164,5 @@
/obj/item/weapon/suppressor/specialoffer
name = "cheap suppressor"
desc = "A foreign knock-off suppressor, it feels flimsy, cheap, and brittle. Still fits all weapons."
icon = 'icons/obj/gun.dmi'
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "suppressor"
@@ -15,6 +15,7 @@
var/max_rockets = 1
var/list/rockets = new/list()
/obj/item/weapon/gun/rocketlauncher/examine(mob/user)
if(..(user, 2))
to_chat(user, "<span class='notice'>[rockets.len] / [max_rockets] rockets.</span>")
@@ -24,6 +25,9 @@
qdel(D)
rockets = null
/obj/item/weapon/gun/rocketlauncher/update_icon()
return
/obj/item/weapon/gun/rocketlauncher/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/ammo_casing/rocket))
if(rockets.len < max_rockets)
@@ -41,7 +45,7 @@
/obj/item/weapon/gun/rocketlauncher/process_fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, message = 1, params, zone_override = "")
if(rockets.len)
var/obj/item/ammo_casing/rocket/I = rockets[1]
var/obj/item/missile/M = new projectile(user.loc)
var/obj/item/missile/M = new /obj/item/missile(user.loc)
playsound(user.loc, 'sound/effects/bang.ogg', 50, 1)
M.primed = 1
M.throw_at(target, missile_range, missile_speed,user)
@@ -1,7 +1,7 @@
/obj/item/weapon/gun/projectile/automatic/toy
name = "foam force SMG"
desc = "A prototype three-round burst toy submachine gun. Ages 8 and up."
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
icon_state = "saber"
item_state = "gun"
mag_type = /obj/item/ammo_box/magazine/toy/smg
@@ -44,7 +44,7 @@
/obj/item/weapon/gun/projectile/shotgun/toy
name = "foam force shotgun"
desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up."
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
force = 0
throwforce = 0
origin_tech = null
@@ -70,7 +70,7 @@
/obj/item/weapon/gun/projectile/automatic/c20r/toy
name = "donksoft SMG"
desc = "A bullpup two-round burst toy SMG, designated 'C-20r'. Ages 8 and up."
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
can_suppress = 0
needs_permit = 0
mag_type = /obj/item/ammo_box/magazine/toy/smgm45
@@ -81,7 +81,7 @@
/obj/item/weapon/gun/projectile/automatic/l6_saw/toy
name = "donksoft LMG"
desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up."
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
can_suppress = 0
needs_permit = 0
mag_type = /obj/item/ammo_box/magazine/toy/m762
@@ -92,7 +92,7 @@
/obj/item/weapon/gun/projectile/shotgun/toy/tommygun
name = "tommy gun"
desc = "Looks almost like the real thing! Great for practicing Drive-bys. Ages 8 and up."
icon = 'icons/obj/gun.dmi'
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "tommy"
item_state = "shotgun"
mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/tommygun
+6 -6
View File
@@ -107,16 +107,16 @@
var/distance = get_dist(get_turf(A), starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations.
def_zone = ran_zone(def_zone, max(100-(7*distance), 5)) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use.
if(ishuman(A))
var/mob/living/carbon/human/H = A
var/obj/item/organ/external/organ = H.get_organ(check_zone(def_zone))
if(isnull(organ))
return
else if(isturf(A) && hitsound_wall)
if(isturf(A) && hitsound_wall)
var/volume = Clamp(vol_by_damage() + 20, 0, 100)
if(suppressed)
volume = 5
playsound(loc, hitsound_wall, volume, 1, -1)
else if(ishuman(A))
var/mob/living/carbon/human/H = A
var/obj/item/organ/external/organ = H.get_organ(check_zone(def_zone))
if(isnull(organ))
return
var/turf/target_turf = get_turf(A)
@@ -30,7 +30,7 @@
damage = 0 // It's a damn toy.
damage_type = OXY
nodamage = 1
icon = 'icons/obj/toyguns.dmi'
icon = 'icons/obj/guns/toy.dmi'
icon_state = "foamdart"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart
range = 10
@@ -103,7 +103,7 @@
/obj/item/projectile/meteor
name = "meteor"
icon = 'icons/obj/meteor.dmi'
icon_state = "smallf"
icon_state = "small"
damage = 0
damage_type = BRUTE
nodamage = 1