Merge pull request #3203 from BlackMajor/cit-mobs

Porting a hefty chunk of Citadel mobs.
This commit is contained in:
Nadyr
2022-01-29 17:09:18 -05:00
committed by GitHub
49 changed files with 3799 additions and 21 deletions

View File

@@ -0,0 +1,7 @@
/obj/item/ammo_casing/a12g/silver
name = " Silver shotgun shell"
desc = "A 12 gauge slug. Bless and Sancitfied to banish otherworlds entities."
icon_state = "agshell"
caliber = "12g"
projectile_type = /obj/item/projectile/bullet/pellet/shotgun/silver
matter = list(DEFAULT_WALL_MATERIAL = 360, "silver" = 240)

View File

@@ -0,0 +1,2 @@
/obj/item/weapon/gun
var/holy = 0 //For Divinely blessed guns

View File

@@ -80,3 +80,33 @@
matter = list("metal" = 350, "glass" = 50)
preserve_item = 1
origin_tech = list(TECH_POWER = 6)
/obj/item/weapon/gun/energy/tommylaser
name = "M-2421 'Tommy-Laser'"
desc = "A automatic laser weapon resembling a Tommy-Gun. Designed by Cybersun Industries to be a man portable supressive fire laser weapon."
icon_state = "tommylas"
item_state = "tommylas"
w_class = ITEMSIZE_LARGE
slot_flags = SLOT_BACK
charge_cost = 60 // 40 shots, lay down the firepower
projectile_type = /obj/item/projectile/beam/weaklaser
cell_type = /obj/item/weapon/cell/device/weapon
origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 5, TECH_ILLEGAL = 3)
firemodes = list(
list(mode_name="single shot", burst = 1, fire_delay=4, move_delay=null, burst_accuracy = null, dispersion = null),
list(mode_name="three shot bursts", burst=3, fire_delay=10 , move_delay=4, burst_accuracy=list(65,65,65), dispersion=list(1,1,1)),
list(mode_name="short bursts", burst=5, fire_delay=10 ,move_delay=6, burst_accuracy = list(65,65,65,65,65), dispersion = list(4,4,4,4,4)),
)
/obj/item/weapon/gun/energy/zip
name = "Zip-Las"
desc = "A homemade (and somehow safe) laser gun designed around shooting single powerful laser beam draining the cell entirely. Better not miss and better have spare cells."
icon = 'icons/obj/gun_ch.dmi'
icon_state = "ziplas"
item_state = "ziplas"
w_class = ITEMSIZE_SMALL
slot_flags = SLOT_BELT|SLOT_BACK
charge_cost = 1500 //You got 1 shot...
projectile_type = /obj/item/projectile/beam/heavylaser //But it hurts a lot
cell_type = /obj/item/weapon/cell/device/weapon

View File

@@ -0,0 +1,27 @@
/obj/item/weapon/gun/projectile/automatic/fal
name = "FN-FAL"
desc = "A 20th century Assault Rifle originally designed by Fabrique National. Famous for its use by mercs in grinding proxy wars in backwater nations. This reproduction was probably made for similar purposes."
icon = 'icons/obj/gun_ch.dmi'
icon_state = "fal"
item_state = "fal"
w_class = ITEMSIZE_LARGE
force = 10
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4)
slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m762m
allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762m)
projectile_type = /obj/item/projectile/bullet/rifle/a762
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, burst_accuracy=list(60,35), dispersion=list(0.0, 0.6))
)
/obj/item/weapon/gun/projectile/automatic/fal/update_icon(var/ignore_inhands)
..()
if(ammo_magazine)
icon_state = initial(icon_state)
else
icon_state = "[initial(icon_state)]-empty"

View File

@@ -0,0 +1,8 @@
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/vox_hunting
name = "vox hunting rifle"
desc = "This ancient rifle bears traces of an assembly meant to house power cells, implying it used to fire energy beams. It has since been crudely modified to fire standard 7.62mm rounds."
icon_state = "vox_hunting"
item_state = "vox_hunting"
ammo_type = /obj/item/ammo_casing/a762
throwforce = 10
force = 20

View File

@@ -0,0 +1,35 @@
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/quad
name = "quad-barreled shotgun"
desc = "A shotgun pattern designed to make the most out of the limited machining capability of the frontier. 4 Whole barrels of death, loads using 12 gauge rounds."
icon = 'icons/obj/gun_ch.dmi'
icon_state = "shotgun_q"
item_state = "qshotgun"
recoil = 2
load_method = SINGLE_CASING|SPEEDLOADER
handle_casings = CYCLE_CASINGS
max_shells = 4
w_class = ITEMSIZE_LARGE
force = 5
accuracy = 40
slot_flags = SLOT_BACK
ammo_type = /obj/item/ammo_casing/a12g/pellet
caliber = "12g"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1)
ammo_type = /obj/item/ammo_casing/a12g/pellet
sawn_off = 1
burst_delay = 0
firemodes = list(
list(mode_name="fire one barrel at a time", burst=1),
)
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn/alt
sawn_off = 1
icon = 'icons/obj/gun_ch.dmi'
icon_state = "shotpistol"
accuracy = 40
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn/alt/holy
ammo_type = /obj/item/ammo_casing/a12g/silver
holy = 1

View File

@@ -412,3 +412,16 @@ only use the hollow_point and armor_penetration values.*/
/obj/item/projectile/bullet/gyro
old_bullet_act = TRUE
/obj/item/projectile/bullet/pistol/medium/ap/suppressor // adminspawn only
name = "suppressor bullet" // this guy is Important and also Hates You
fire_sound = 'sound/weapons/doompistol.ogg' // converted from .wavs extracted from doom 2
damage = 10 // high rof kinda fucked up lets be real
agony = 10 // brute easily heals, agony not so much
armor_penetration = 30 // reduces shield blockchance
accuracy = -20 // he do miss actually
speed = 0.4 // if the pathfinder gets a funny burst rifle, they deserve a rival
// that's 2x projectile speed btw
/obj/item/projectile/bullet/pistol/medium/ap/suppressor/turbo // spicy boys
speed = 0.2 // this is 4x projectile speed

View File

@@ -0,0 +1,15 @@
/obj/item/projectile
/// If this projectile is holy. Silver bullets, etc. Currently no effects.
var/holy = 0
/obj/item/projectile/bullet/pellet/shotgun/silver
name = "shrapnel"
fire_sound = 'sound/weapons/weaponsounds_shotgunshot.ogg'
damage = 10
SA_bonus_damage = 16 // Potential 156 Damage against demons at point blank.
SA_vulnerability = MOB_CLASS_DEMONIC | MOB_CLASS_ABERRATION
embed_chance = -1
pellets = 6
range_step = 1
spread_step = 20
holy = 1