mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-26 06:39:22 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into make_ai_great_again
This commit is contained in:
@@ -23,17 +23,6 @@
|
||||
|
||||
var/battery_lock = 0 //If set, weapon cannot switch batteries
|
||||
|
||||
/obj/item/weapon/gun/energy/attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/energy/switch_firemodes(mob/user)
|
||||
if(..())
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/energy/emp_act(severity)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/energy/New()
|
||||
..()
|
||||
if(self_recharge)
|
||||
@@ -52,6 +41,9 @@
|
||||
processing_objects.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/gun/energy/get_cell()
|
||||
return power_supply
|
||||
|
||||
/obj/item/weapon/gun/energy/process()
|
||||
if(self_recharge) //Every [recharge_time] ticks, recharge a shot for the battery
|
||||
if(world.time > last_shot + charge_delay) //Doesn't work if you've fired recently
|
||||
@@ -75,6 +67,17 @@
|
||||
charge_tick = 0
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/gun/energy/attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/energy/switch_firemodes(mob/user)
|
||||
if(..())
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/energy/emp_act(severity)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/energy/consume_next_projectile()
|
||||
if(!power_supply) return null
|
||||
if(!ispath(projectile_type)) return null
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// Phase weapons go here
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun
|
||||
name = "phase carbine"
|
||||
desc = "The NT EW26 Artemis is a downsized energy weapon, specifically designed for use against wildlife."
|
||||
icon_state = "phasecarbine"
|
||||
wielded_item_state = "phasecarbine-wielded"
|
||||
slot_flags = SLOT_BACK|SLOT_BELT
|
||||
charge_cost = 240
|
||||
projectile_type = /obj/item/projectile/energy/phase
|
||||
one_handed_penalty = 15
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun/pistol
|
||||
name = "phase pistol"
|
||||
desc = "The NT EW15 Apollo is an energy handgun, specifically designed for self-defense against aggressive wildlife."
|
||||
icon_state = "phase"
|
||||
item_state = "taser" //I don't have an in-hand sprite, taser will be fine
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
charge_cost = 300
|
||||
projectile_type = /obj/item/projectile/energy/phase/light
|
||||
one_handed_penalty = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun/pistol/mounted
|
||||
name = "mounted phase pistol"
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun/pistol/mounted/cyborg
|
||||
charge_cost = 400
|
||||
recharge_time = 7
|
||||
|
||||
obj/item/weapon/gun/energy/phasegun/rifle
|
||||
name = "phase rifle"
|
||||
desc = "The NT EW31 Orion is a specialist energy weapon, intended for use against hostile wildlife."
|
||||
icon_state = "phaserifle"
|
||||
item_state = "phaserifle"
|
||||
wielded_item_state = "phaserifle-wielded"
|
||||
slot_flags = SLOT_BACK
|
||||
charge_cost = 150
|
||||
projectile_type = /obj/item/projectile/energy/phase/heavy
|
||||
accuracy = 15
|
||||
one_handed_penalty = 30
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun/cannon
|
||||
name = "phase cannon"
|
||||
desc = "The NT EW50 Gaia is a massive energy weapon, purpose-built for clearing land. You feel dirty just looking at it."
|
||||
icon_state = "phasecannon"
|
||||
item_state = "phasecannon"
|
||||
wielded_item_state = "phasecannon-wielded" //TODO: New Sprites
|
||||
w_class = ITEMSIZE_HUGE // This thing is big.
|
||||
slot_flags = SLOT_BACK
|
||||
charge_cost = 100
|
||||
projectile_type = /obj/item/projectile/energy/phase/heavy/cannon
|
||||
accuracy = 15
|
||||
one_handed_penalty = 65
|
||||
@@ -25,15 +25,6 @@
|
||||
charge_cost = 480
|
||||
projectile_type = /obj/item/projectile/ion/pistol
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun
|
||||
name = "phase pistol"
|
||||
desc = "The NT Mk26 EW Apollo is an energy handgun, specifically designed for use against wildlife."
|
||||
icon_state = "phase"
|
||||
item_state = "taser" //I don't have an in-hand sprite, taser will be fine
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
charge_cost = 300
|
||||
projectile_type = /obj/item/projectile/energy/phase
|
||||
|
||||
/obj/item/weapon/gun/energy/decloner
|
||||
name = "biological demolecularisor"
|
||||
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
qdel_null(capacitor)
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/gun/magnetic/get_cell()
|
||||
return cell
|
||||
|
||||
/obj/item/weapon/gun/magnetic/process()
|
||||
if(capacitor)
|
||||
if(cell)
|
||||
|
||||
@@ -78,8 +78,6 @@
|
||||
// Update our shadow.
|
||||
shadow.forceMove(loc)
|
||||
|
||||
|
||||
|
||||
/obj/effect/projectile_shadow
|
||||
name = "shadow"
|
||||
desc = "You better avoid the thing coming down!"
|
||||
@@ -87,7 +85,50 @@
|
||||
icon_state = "arc_shadow"
|
||||
anchored = TRUE
|
||||
|
||||
//////////////
|
||||
// Subtypes
|
||||
//////////////
|
||||
|
||||
// Subtypes
|
||||
// Generic, Hivebot related
|
||||
/obj/item/projectile/arc/blue_energy
|
||||
name = "energy missile"
|
||||
icon_state = "force_missile"
|
||||
damage = 15
|
||||
damage_type = BURN
|
||||
|
||||
// Fragmentation arc shot
|
||||
/obj/item/projectile/arc/fragmentation
|
||||
name = "fragmentation shot"
|
||||
icon_state = "shell"
|
||||
var/list/fragment_types = list(
|
||||
/obj/item/projectile/bullet/pellet/fragment, /obj/item/projectile/bullet/pellet/fragment, \
|
||||
/obj/item/projectile/bullet/pellet/fragment, /obj/item/projectile/bullet/pellet/fragment/strong
|
||||
)
|
||||
var/fragment_amount = 63 // Same as a grenade.
|
||||
var/spread_range = 7
|
||||
|
||||
/obj/item/projectile/arc/fragmentation/on_impact(turf/T)
|
||||
fragmentate(T, fragment_amount, spread_range, fragment_types)
|
||||
|
||||
// EMP arc shot
|
||||
/obj/item/projectile/arc/emp_blast
|
||||
name = "emp blast"
|
||||
icon_state = "bluespace"
|
||||
|
||||
/obj/item/projectile/arc/emp_blast/on_impact(turf/T)
|
||||
empulse(T, 2, 4, 7, 10) // Normal EMP grenade.
|
||||
return ..()
|
||||
|
||||
/obj/item/projectile/arc/emp_blast/weak/on_impact(turf/T)
|
||||
empulse(T, 1, 2, 3, 4) // Sec EMP grenade.
|
||||
return ..()
|
||||
|
||||
// Radiation arc shot
|
||||
/obj/item/projectile/arc/radioactive
|
||||
name = "radiation blast"
|
||||
icon_state = "green_pellet"
|
||||
icon_scale = 2
|
||||
var/rad_power = 50
|
||||
|
||||
/obj/item/projectile/arc/radioactive/on_impact(turf/T)
|
||||
radiation_repository.radiate(T, rad_power)
|
||||
@@ -212,7 +212,22 @@
|
||||
muzzle_type = /obj/effect/projectile/pulse/muzzle
|
||||
|
||||
/obj/item/projectile/energy/phase
|
||||
kill_count = 4
|
||||
name = "phase wave"
|
||||
icon_state = "phase"
|
||||
kill_count = 6
|
||||
damage = 5
|
||||
SA_bonus_damage = 55 // 60 total on animals.
|
||||
SA_vulnerability = SA_ANIMAL
|
||||
SA_bonus_damage = 45 // 50 total on animals
|
||||
SA_vulnerability = SA_ANIMAL
|
||||
|
||||
/obj/item/projectile/energy/phase/light
|
||||
kill_count = 4
|
||||
SA_bonus_damage = 35 // 40 total on animals
|
||||
|
||||
/obj/item/projectile/energy/phase/heavy
|
||||
kill_count = 8
|
||||
SA_bonus_damage = 55 // 60 total on animals
|
||||
|
||||
/obj/item/projectile/energy/phase/heavy/cannon
|
||||
kill_count = 10
|
||||
damage = 15
|
||||
SA_bonus_damage = 60 // 75 total on animals
|
||||
Reference in New Issue
Block a user