Added Sue's new weapon code and sprites.
@@ -1107,6 +1107,7 @@
|
|||||||
#include "code\modules\projectiles\guns\projectile\pistol.dm"
|
#include "code\modules\projectiles\guns\projectile\pistol.dm"
|
||||||
#include "code\modules\projectiles\guns\projectile\pneumatic.dm"
|
#include "code\modules\projectiles\guns\projectile\pneumatic.dm"
|
||||||
#include "code\modules\projectiles\guns\projectile\revolver.dm"
|
#include "code\modules\projectiles\guns\projectile\revolver.dm"
|
||||||
|
#include "code\modules\projectiles\guns\projectile\rocket.dm"
|
||||||
#include "code\modules\projectiles\guns\projectile\shotgun.dm"
|
#include "code\modules\projectiles\guns\projectile\shotgun.dm"
|
||||||
#include "code\modules\projectiles\projectile\animate.dm"
|
#include "code\modules\projectiles\projectile\animate.dm"
|
||||||
#include "code\modules\projectiles\projectile\beams.dm"
|
#include "code\modules\projectiles\projectile\beams.dm"
|
||||||
|
|||||||
@@ -98,3 +98,10 @@
|
|||||||
desc = "A 7.62 bullet casing."
|
desc = "A 7.62 bullet casing."
|
||||||
caliber = "a762"
|
caliber = "a762"
|
||||||
projectile_type = "/obj/item/projectile/bullet/a762"
|
projectile_type = "/obj/item/projectile/bullet/a762"
|
||||||
|
|
||||||
|
/obj/item/ammo_casing/rocket
|
||||||
|
name = "rocket shell"
|
||||||
|
desc = "A high explosive designed to be fired from a launcher."
|
||||||
|
icon_state = "rocketshell"
|
||||||
|
projectile_type = "/obj/item/missile"
|
||||||
|
caliber = "rocket"
|
||||||
|
|||||||
@@ -194,3 +194,48 @@ obj/item/weapon/gun/energy/staff/focus
|
|||||||
user << "\red The [src.name] will now strike only a single person."
|
user << "\red The [src.name] will now strike only a single person."
|
||||||
projectile_type = "/obj/item/projectile/forcebolt"
|
projectile_type = "/obj/item/projectile/forcebolt"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/energy/toxgun
|
||||||
|
name = "plasma pistol"
|
||||||
|
desc = "A specialized firearm designed to fire lethal bolts of toxins."
|
||||||
|
icon_state = "toxgun"
|
||||||
|
fire_sound = 'sound/effects/stealthoff.ogg'
|
||||||
|
w_class = 3.0
|
||||||
|
origin_tech = "combat=5;plasmatech=4"
|
||||||
|
projectile_type = "/obj/item/projectile/energy/plasma"
|
||||||
|
|
||||||
|
/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 = "sniper"
|
||||||
|
fire_sound = 'sound/weapons/marauder.ogg'
|
||||||
|
origin_tech = "combat=6;materials=5;powerstorage=4"
|
||||||
|
projectile_type = "/obj/item/projectile/beam/sniper"
|
||||||
|
slot_flags = SLOT_BACK
|
||||||
|
charge_cost = 250
|
||||||
|
fire_delay = 35
|
||||||
|
w_class = 4.0
|
||||||
|
|
||||||
|
var/zoom = 0
|
||||||
|
|
||||||
|
dropped(mob/user)
|
||||||
|
usr.client.view = world.view
|
||||||
|
zoom = 0
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/energy/sniperrifle/verb/zoom()
|
||||||
|
set category = "Special Verbs"
|
||||||
|
set name = "Zoom"
|
||||||
|
set popup_menu = 0
|
||||||
|
if(usr.stat || !(istype(usr,/mob/living/carbon/human)))
|
||||||
|
usr << "No."
|
||||||
|
return
|
||||||
|
|
||||||
|
src.zoom = !src.zoom
|
||||||
|
usr << ("<font color='[src.zoom?"blue":"red"]'>Zoom mode [zoom?"en":"dis"]abled.</font>")
|
||||||
|
if(zoom)
|
||||||
|
usr.client.view = 12
|
||||||
|
usr << sound('sound/mecha/imag_enh.ogg',volume=50)
|
||||||
|
else
|
||||||
|
usr.client.view = world.view//world.view - default mob view size
|
||||||
|
return
|
||||||
52
code/modules/projectiles/guns/projectile/rocket.dm
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/obj/item/weapon/gun/rocketlauncher
|
||||||
|
var/projectile
|
||||||
|
name = "rocket launcher"
|
||||||
|
desc = "MAGGOT."
|
||||||
|
icon_state = "rocket"
|
||||||
|
item_state = "rocket"
|
||||||
|
w_class = 4.0
|
||||||
|
throw_speed = 2
|
||||||
|
throw_range = 10
|
||||||
|
force = 5.0
|
||||||
|
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY
|
||||||
|
origin_tech = "combat=8;materials=5"
|
||||||
|
projectile = /obj/item/missile
|
||||||
|
var/missile_speed = 2
|
||||||
|
var/missile_range = 30
|
||||||
|
var/max_rockets = 1
|
||||||
|
var/list/rockets = new/list()
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/rocketlauncher/examine()
|
||||||
|
set src in view()
|
||||||
|
..()
|
||||||
|
if (!(usr in view(2)) && usr!=src.loc) return
|
||||||
|
usr << "\blue [rockets.len] / [max_rockets] rockets."
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/rocketlauncher/attackby(obj/item/I as obj, mob/user as mob)
|
||||||
|
if(istype(I, /obj/item/ammo_casing/rocket))
|
||||||
|
if(rockets.len < max_rockets)
|
||||||
|
user.drop_item()
|
||||||
|
I.loc = src
|
||||||
|
rockets += I
|
||||||
|
user << "\blue You put the rocket in [src]."
|
||||||
|
user << "\blue [rockets.len] / [max_rockets] rockets."
|
||||||
|
else
|
||||||
|
usr << "\red [src] cannot hold more rockets."
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/rocketlauncher/can_fire()
|
||||||
|
return rockets.len
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/rocketlauncher/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)
|
||||||
|
if(rockets.len)
|
||||||
|
var/obj/item/ammo_casing/rocket/I = rockets[1]
|
||||||
|
var/obj/item/missile/M = new projectile(user.loc)
|
||||||
|
playsound(user.loc, 'sound/effects/bang.ogg', 50, 1)
|
||||||
|
M.primed = 1
|
||||||
|
M.throw_at(target, missile_range, missile_speed)
|
||||||
|
message_admins("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]).")
|
||||||
|
log_game("[key_name_admin(user)] used a rocket launcher ([src.name]).")
|
||||||
|
rockets -= I
|
||||||
|
del(I)
|
||||||
|
return
|
||||||
|
else
|
||||||
|
usr << "\red [src] is empty."
|
||||||
@@ -161,3 +161,11 @@ var/list/beam_master = list()
|
|||||||
if((istype(M.wear_suit, /obj/item/clothing/suit/bluetag))||(istype(M.wear_suit, /obj/item/clothing/suit/redtag)))
|
if((istype(M.wear_suit, /obj/item/clothing/suit/bluetag))||(istype(M.wear_suit, /obj/item/clothing/suit/redtag)))
|
||||||
M.Weaken(5)
|
M.Weaken(5)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
/obj/item/projectile/beam/sniper
|
||||||
|
name = "sniper beam"
|
||||||
|
icon_state = "xray"
|
||||||
|
damage = 60
|
||||||
|
stun = 5
|
||||||
|
weaken = 5
|
||||||
|
stutter = 5
|
||||||
@@ -59,5 +59,10 @@
|
|||||||
damage_type = TOX
|
damage_type = TOX
|
||||||
weaken = 5
|
weaken = 5
|
||||||
|
|
||||||
|
/obj/item/projectile/energy/plasma
|
||||||
|
name = "plasma bolt"
|
||||||
|
icon_state = "energy"
|
||||||
|
damage = 20
|
||||||
|
damage_type = TOX
|
||||||
|
irradiate = 20
|
||||||
|
|
||||||
|
|||||||
@@ -1528,6 +1528,14 @@ datum/design/stunshell
|
|||||||
materials = list("$metal" = 4000)
|
materials = list("$metal" = 4000)
|
||||||
build_path = "/obj/item/ammo_casing/shotgun/stunshell"
|
build_path = "/obj/item/ammo_casing/shotgun/stunshell"
|
||||||
|
|
||||||
|
datum/design/plasmapistol
|
||||||
|
name = "plasma pistol"
|
||||||
|
desc = "A specialized firearm designed to fire lethal bolts of toxins."
|
||||||
|
id = "ppistol"
|
||||||
|
req_tech = list("combat" = 5, "plasmatech" = 4)
|
||||||
|
build_type = PROTOLATHE
|
||||||
|
materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000)
|
||||||
|
build_path = "/obj/item/weapon/gun/energy/toxgun"
|
||||||
/////////////////////////////////////////
|
/////////////////////////////////////////
|
||||||
/////////////////Mining//////////////////
|
/////////////////Mining//////////////////
|
||||||
/////////////////////////////////////////
|
/////////////////////////////////////////
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 40 KiB |