Merge remote-tracking branch 'origin/master' into motivation

This commit is contained in:
keronshb
2021-01-29 09:29:55 -05:00
803 changed files with 8615 additions and 5542 deletions
@@ -8,7 +8,7 @@
projectile_type = /obj/item/projectile/bullet/shotgun_slug
custom_materials = list(/datum/material/iron=4000)
obj/item/ammo_casing/shotgun/executioner
/obj/item/ammo_casing/shotgun/executioner
name = "executioner slug"
desc = "A 12 gauge lead slug purpose built to annihilate flesh on impact."
icon_state = "stunshell"
@@ -24,6 +24,11 @@
projectile_type = /obj/item/projectile/energy/floramut
select_name = "mutation"
/obj/item/ammo_casing/energy/flora/revolution
projectile_type = /obj/item/projectile/energy/florarevolution
select_name = "revolution"
e_cost = 250
/obj/item/ammo_casing/energy/temp
projectile_type = /obj/item/projectile/temp
select_name = "freeze"
+17 -2
View File
@@ -18,6 +18,8 @@
item_flags = NEEDS_PERMIT
attack_verb = list("struck", "hit", "bashed")
attack_speed = CLICK_CD_RANGE
var/ranged_attack_speed = CLICK_CD_RANGE
var/melee_attack_speed = CLICK_CD_MELEE
var/fire_sound = "gunshot"
var/suppressed = null //whether or not a message is displayed when fired
@@ -158,7 +160,7 @@
user.UseStaminaBuffer(safe_cost)
if(suppressed)
playsound(user, fire_sound, 10, 1)
playsound(user, fire_sound, 10, TRUE, ignore_walls = FALSE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0)
else
playsound(user, fire_sound, 50, 1)
if(message)
@@ -173,12 +175,25 @@
for(var/obj/O in contents)
O.emp_act(severity)
/obj/item/gun/attack(mob/living/M, mob/user)
. = ..()
if(!(. & DISCARD_LAST_ACTION))
user.DelayNextAction(melee_attack_speed)
/obj/item/gun/attack_obj(obj/O, mob/user)
. = ..()
if(!(. & DISCARD_LAST_ACTION))
user.DelayNextAction(melee_attack_speed)
/obj/item/gun/afterattack(atom/target, mob/living/user, flag, params)
. = ..()
if(!CheckAttackCooldown(user, target))
if(!CheckAttackCooldown(user, target, TRUE))
return
process_afterattack(target, user, flag, params)
/obj/item/gun/CheckAttackCooldown(mob/user, atom/target, shooting = FALSE)
return user.CheckActionCooldown(shooting? ranged_attack_speed : attack_speed, clickdelay_from_next_action, clickdelay_mod_bypass, clickdelay_ignores_next_action)
/obj/item/gun/proc/process_afterattack(atom/target, mob/living/user, flag, params)
if(!target)
return
@@ -45,7 +45,7 @@
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
icon_state = "flora"
item_state = "gun"
ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut)
ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut, /obj/item/ammo_casing/energy/flora/revolution)
modifystate = 1
ammo_x_offset = 1
selfcharge = EGUN_SELFCHARGE
+4 -5
View File
@@ -471,11 +471,10 @@
if(paused || !isturf(loc))
return
var/ds = (SSprojectiles.flags & SS_TICKER)? (wait * world.tick_lag) : wait
var/required_pixels = (pixels_per_second * ds * 0.1) + pixels_tick_leftover
var/required_pixels = (pixels_per_second * wait) + pixels_tick_leftover
if(required_pixels >= pixel_increment_amount)
pixels_tick_leftover = MODULUS(required_pixels, pixel_increment_amount)
pixel_move(FLOOR(required_pixels / pixel_increment_amount, 1), FALSE, ds, SSprojectiles.global_projectile_speed_multiplier)
pixel_move(FLOOR(required_pixels / pixel_increment_amount, 1), FALSE, wait, SSprojectiles.global_projectile_speed_multiplier)
else
pixels_tick_leftover = required_pixels
@@ -603,7 +602,7 @@
* Trajectory multiplier directly modifies the factor of pixel_increment_amount to go per time.
* It's complicated, so probably just don't mess with this unless you know what you're doing.
*/
/obj/item/projectile/proc/pixel_move(times, hitscanning = FALSE, deciseconds_equivalent = world.tick_lag, trajectory_multiplier = 1, allow_animation = TRUE)
/obj/item/projectile/proc/pixel_move(times, hitscanning = FALSE, seconds_equivalent = world.tick_lag * 0.1, trajectory_multiplier = 1, allow_animation = TRUE)
if(!loc || !trajectory)
return
if(!nondirectional_sprite && !hitscanning)
@@ -620,7 +619,7 @@
if(homing_target)
// No datum/points, too expensive.
var/angle = closer_angle_difference(Angle, get_projectile_angle(src, homing_target))
var/max_turn = homing_turn_speed * deciseconds_equivalent * 0.1
var/max_turn = homing_turn_speed * seconds_equivalent
setAngle(Angle + clamp(angle, -max_turn, max_turn))
// HOMING END
trajectory.increment(trajectory_multiplier)
@@ -1,4 +1,4 @@
obj/item/projectile/energy/plasmabolt
/obj/item/projectile/energy/plasmabolt
name = "plasma bolt"
icon_state = "plasma"
flag = "energy"
@@ -20,8 +20,9 @@
newcasing.modified = modified
var/obj/item/projectile/bullet/reusable/foam_dart/newdart = newcasing.BB
newdart.modified = modified
newdart.damage = damage
newdart.nodamage = nodamage
if(modified)
newdart.damage = 5
newdart.nodamage = FALSE
newdart.damage_type = damage_type
if(pen)
newdart.pen = pen
@@ -2,7 +2,7 @@
name = "alpha somatoray"
icon_state = "energy"
damage = 0
damage_type = TOX
damage_type = TRUE
nodamage = 1
flag = "energy"
@@ -21,5 +21,13 @@
icon_state = "energy2"
damage = 0
damage_type = TOX
nodamage = 1
nodamage = TRUE
flag = "energy"
/obj/item/projectile/energy/florarevolution
name = "gamma somatorary"
icon_state = "energy3"
damage = 0
damage_type = TOX
nodamage = TRUE
flag = "energy"