Removes ERT from standard gameplay. The Horizon now sends distress beacons for other Overmap vessels instead. Barricades and crew armoury buff. (#14371)

This commit is contained in:
Matt Atlas
2022-08-02 17:59:51 +02:00
committed by GitHub
parent 582a03c331
commit f768a9022d
103 changed files with 2470 additions and 939 deletions
@@ -60,6 +60,30 @@
firemodes = list()
modifystate = null
/obj/item/gun/energy/rifle/laser/noctiluca
name = "combat laser rifle"
desc = "The Noctiluca XM/24 is a brand new model of laser rifle, developed entirely by Kumar Arms, a Zavodskoi Interstellar subsidiary. Easy to handle for users with minimal training, reliable and with a reasonable form factor, it is poised to become the new standard for laser weaponry."
desc_fluff = "The Noctiluca XM/24 was unveiled at the tail end of 2463 in the SCC Future Firearms contest and was released by Zavodskoi in June 2464 after achieving a stunning victory over the other competitors. Zavodskoi installations are prioritized for acquisition of this new rifle, with along the SCCV Horizon. The Noctiluca's specialty lies in its revolutionary dual-function laser diffuser, which is able to modulate the laser into either a standard beam or an armor-piercing super-concentrated beam."
desc_info = "This is an energy weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To recharge this weapon, use a weapon recharger. \
The Noctiluca comes with a standard firing mode that is slightly worse in damage than the normal laser rifle, but has more armor penetration. Additionally, \
it has a secondary armor-piercing mode, which does less damage but has extremely high armor piercing."
icon = 'icons/obj/guns/crew_laser.dmi'
icon_state = "trilaser"
item_state = "trilaser"
max_shots = 12
fire_delay = 5
burst_delay = 5
origin_tech = list(TECH_COMBAT = 8, TECH_MAGNET = 4)
projectile_type = /obj/item/projectile/beam/noctiluca
secondary_projectile_type = /obj/item/projectile/beam/noctiluca/armor_piercing
secondary_fire_sound = 'sound/weapons/laserstrong.ogg'
can_switch_modes = TRUE
firemodes = list(
list(mode_name = "fire normal diffusion lasers", projectile_type = /obj/item/projectile/beam/noctiluca, fire_sound = 'sound/weapons/laser1.ogg'),
list(mode_name = "fire specialized armor piercing lasers", projectile_type = /obj/item/projectile/beam/noctiluca/armor_piercing, fire_sound = 'sound/weapons/laserstrong.ogg')
)
/obj/item/gun/energy/rifle/laser/heavy
name = "laser cannon"
desc = "A nanotrasen designed laser cannon capable of acting as a powerful support weapon."
@@ -320,6 +320,37 @@
else
to_chat(user, "\The [launcher] is empty.")
/obj/item/gun/projectile/automatic/rifle/jingya
name = "burst rifle"
desc = "The Jingya A-1 is the first of a new line of Nanotrasen rifles, developed in cooperation with Zavodskoi Interstellar's Kumar Arms subsidiary. They are made to be sleek, easy to use by users with minimal training and cheap to mass produce while still being reliable."
desc_fluff = "The Jingya A-1 won a hard-fought victory in the ballistic side of the SCC Future Firearms contest hosted in 2463, which was also its first unveiling: this rifle is made to function where laser weaponry may be either too risky or not functional for the engagement at hand. It is slated to be deployed for trial usage by a select few special TCFL regiments in Mictlan."
icon = 'icons/obj/guns/crew_rifle.dmi'
icon_state = "arifle"
item_state = "arifle"
w_class = ITEMSIZE_LARGE
force = 10
caliber = "a556"
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 3)
ammo_type = /obj/item/ammo_casing/a556
fire_sound = 'sound/weapons/gunshot/gunshot_rifle.ogg'
slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/a556/carbine/polymer
allowed_magazines = list(/obj/item/ammo_magazine/a556/carbine, /obj/item/ammo_magazine/a556/carbine/polymer)
burst_delay = 4
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=12),
list(mode_name="2-round bursts", burst=2, burst_accuracy=list(1, 1))
)
/obj/item/gun/projectile/automatic/rifle/jingya/update_icon()
..()
if(ammo_magazine)
icon_state = "arifle"
else
icon_state = "arifle-empty"
/obj/item/gun/projectile/automatic/rifle/l6_saw
name = "light machine gun"
desc = "A rather traditionally made L6 SAW with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armory- 2431' engraved on the receiver"
+27 -1
View File
@@ -11,6 +11,7 @@
mouse_opacity = 0
animate_movement = 0 //Use SLIDE_STEPS in conjunction with legacy
var/projectile_type = /obj/item/projectile
var/ping_effect = "ping_b" //Effect displayed when a bullet hits a barricade. See atom/proc/bullet_ping.
var/def_zone = "" //Aiming at
var/hit_zone // The place that actually got hit
@@ -655,4 +656,29 @@
if(initial(shrapnel_type))
var/obj/shrapnel = new shrapnel_type
. += "Shrapnel Type: [shrapnel.name]<br>"
. += "Armor Penetration: [initial(armor_penetration)]%<br>"
. += "Armor Penetration: [initial(armor_penetration)]%<br>"
//This is where the bullet bounces off.
/atom/proc/bullet_ping(obj/item/projectile/P, var/pixel_x_offset, var/pixel_y_offset)
if(!P || !P.ping_effect)
return
var/image/I = image('icons/obj/projectiles.dmi', src,P.ping_effect,10, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset)
var/angle = (P.firer && prob(60)) ? round(Get_Angle(P.firer,src)) : round(rand(1,359))
I.pixel_x += rand(-6,6)
I.pixel_y += rand(-6,6)
var/matrix/rotate = matrix()
rotate.Turn(angle)
I.transform = rotate
// Need to do this in order to prevent the ping from being deleted
addtimer(CALLBACK(I, /image/.proc/flick_overlay, src, 3), 1)
/image/proc/flick_overlay(var/atom/A, var/duration)
A.overlays.Add(src)
addtimer(CALLBACK(src, .proc/flick_remove_overlay, A), duration)
/image/proc/flick_remove_overlay(var/atom/A)
if(A)
A.overlays.Remove(src)
@@ -1,6 +1,7 @@
/obj/item/projectile/beam
name = "laser"
icon_state = "laser"
ping_effect = "ping_s"
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSRAILING
damage = 30
damage_type = BURN
@@ -50,6 +51,19 @@
damage = 35
armor_penetration = 10
/obj/item/projectile/beam/noctiluca
damage = 25
armor_penetration = 25
/obj/item/projectile/beam/noctiluca/armor_piercing
name = "concentrated laser"
damage = 15
armor_penetration = 50
muzzle_type = /obj/effect/projectile/muzzle/laser/scc
tracer_type = /obj/effect/projectile/tracer/laser/scc
impact_type = /obj/effect/projectile/impact/laser/scc
/obj/item/projectile/beam/midlaser/ice
damage = 25
armor_penetration = 10
@@ -434,13 +434,15 @@
embed = FALSE
penetrating = FALSE
armor_penetration = 10
var/heavy_impact_range = 1
/obj/item/projectile/bullet/recoilless_rifle/on_impact(var/atom/A)
explosion(A, -1, 1, 2)
explosion(A, -1, heavy_impact_range, 2)
..()
/obj/item/projectile/bullet/recoilless_rifle/peac
name = "anti-tank missile"
icon_state = "peac"
damage = 45
penetrating = TRUE
penetrating = TRUE
heavy_impact_range = -1