mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 12:29:23 +01:00
Adds smooth movement/atom gliding, buffs everyone's speed by 2x. (#21662)
Revives https://github.com/Aurorastation/Aurora.3/pull/17215 with the needed species changes. As I said last time this was tried, the key issue is that our walkspeed is a lot lower than any other server's. Even if we add atom gliding as is, it would just look like gliding through molasses and would give you motion sickness, because it takes a half-second to finish a glide to another tile. Meaning that to compensate the movement speed has now been significantly buffed for everyone. Yes, even dionae, G2, simple mobs, everyone. As compensation, m'sai/bishop/unathi sprint were especially nerfed because otherwise they'd go lightspeed. https://github.com/user-attachments/assets/7ba07389-b874-4a7d-8dd5-b5d3bfe611e4 --------- Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it> Co-authored-by: Matt Atlas <liermattia@gmail.com> Co-authored-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
This commit is contained in:
@@ -257,7 +257,7 @@
|
||||
tail = "tajtail"
|
||||
tail_animation = 'icons/mob/species/tajaran/tail.dmi'
|
||||
|
||||
slowdown = -1
|
||||
slowdown = -0.4
|
||||
brute_mod = 1.2
|
||||
fall_mod = 0.5
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
|
||||
stamina = 80
|
||||
sprint_speed_factor = 1.2
|
||||
slowdown = -2
|
||||
slowdown = -0.6
|
||||
standing_jump_range = 5
|
||||
natural_climbing = TRUE
|
||||
|
||||
|
||||
@@ -320,7 +320,7 @@ GLOBAL_LIST_INIT(golem_types, list(
|
||||
|
||||
bodytype = "Human"
|
||||
|
||||
slowdown = -2
|
||||
slowdown = -0.6
|
||||
|
||||
brute_mod = 1.5
|
||||
burn_mod = 3
|
||||
@@ -345,7 +345,7 @@ GLOBAL_LIST_INIT(golem_types, list(
|
||||
icobase = 'icons/mob/human_races/golem/r_cardboard.dmi'
|
||||
deform = 'icons/mob/human_races/golem/r_cardboard.dmi'
|
||||
|
||||
slowdown = -1
|
||||
slowdown = -0.3
|
||||
|
||||
brute_mod = 1.5
|
||||
burn_mod = 3
|
||||
@@ -656,7 +656,7 @@ GLOBAL_LIST_INIT(golem_types, list(
|
||||
|
||||
brute_mod = 1.2
|
||||
burn_mod = 1
|
||||
slowdown = -2
|
||||
slowdown = -0.8
|
||||
|
||||
meat_type = /obj/item/ore/glass
|
||||
|
||||
@@ -711,7 +711,7 @@ GLOBAL_LIST_INIT(golem_types, list(
|
||||
|
||||
brute_mod = 1.2
|
||||
burn_mod = 1.3
|
||||
slowdown = -1
|
||||
slowdown = -0.3
|
||||
|
||||
meat_type = /obj/item/stack/material/plastic
|
||||
|
||||
|
||||
@@ -584,7 +584,7 @@
|
||||
eyes = "zenghu_eyes"
|
||||
brute_mod = 1.5
|
||||
|
||||
slowdown = -0.8
|
||||
slowdown = -0.6
|
||||
sprint_speed_factor = 0.6
|
||||
sprint_cost_factor = 2
|
||||
move_charge_factor = 2
|
||||
|
||||
@@ -200,5 +200,5 @@
|
||||
brute_mod = 0.8
|
||||
burn_mod = 2
|
||||
fall_mod = 0
|
||||
slowdown = -1
|
||||
slowdown = -0.3
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
/singleton/maneuver/leap/tajara
|
||||
)
|
||||
darksight = 8
|
||||
slowdown = -1
|
||||
slowdown = -0.4
|
||||
|
||||
brute_mod = 1.2
|
||||
fall_mod = 0.5
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
secondary_langs = list(LANGUAGE_SIIK_TAJR, LANGUAGE_DELVAHII)
|
||||
|
||||
slowdown = -0.8 //As opposed to -1 for Base tajara
|
||||
sprint_speed_factor = 0.55 // As opposed to 0.65
|
||||
slowdown = -0.2
|
||||
sprint_speed_factor = 0.55
|
||||
standing_jump_range = 2
|
||||
stamina = 100 // As opposed to 90
|
||||
brute_mod = 1.1 // Less Brute Damage
|
||||
@@ -57,8 +57,8 @@
|
||||
worked as hunters, later becoming warriors and soldiers as civilization developed."
|
||||
species_height = HEIGHT_CLASS_AVERAGE
|
||||
|
||||
slowdown = -1.2 //As opposed to -1 for Base tajara
|
||||
sprint_speed_factor = 0.75 // As opposed to 0.65
|
||||
slowdown = -0.6
|
||||
sprint_speed_factor = 0.75
|
||||
standing_jump_range = 3
|
||||
stamina = 80 // As opposed to 90
|
||||
brute_mod = 1.3 // More Brute Damage
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
stamina = 120 // Unathi have the shortest but fastest sprint of all
|
||||
stamina_recovery = 5
|
||||
|
||||
sprint_cost_factor = 1.45
|
||||
sprint_speed_factor = 3.2
|
||||
sprint_cost_factor = 1.75
|
||||
sprint_speed_factor = 1.6
|
||||
exhaust_threshold = 65
|
||||
bp_base_systolic = 80 // Default 120
|
||||
bp_base_disatolic = 50 // Default 80
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
icobase = 'icons/mob/human_races/vaurca/r_vaurcabb.dmi'
|
||||
eyes = "vaurca_attendant_eyes"
|
||||
|
||||
slowdown = -0.8
|
||||
slowdown = -0.6
|
||||
brute_mod = 0.9
|
||||
oxy_mod = 1
|
||||
radiation_mod = 0.5
|
||||
|
||||
@@ -186,8 +186,6 @@
|
||||
if(mob.transforming)
|
||||
return //This is sota the goto stop mobs from moving var
|
||||
|
||||
var/add_delay = mob.cached_multiplicative_slowdown
|
||||
|
||||
if(isliving(mob))
|
||||
if(SEND_SIGNAL(mob, COMSIG_MOB_CLIENT_PRE_LIVING_MOVE, new_loc, direct) & COMSIG_MOB_CLIENT_BLOCK_PRE_LIVING_MOVE)
|
||||
return FALSE
|
||||
@@ -244,7 +242,6 @@
|
||||
else
|
||||
mob.inertia_dir = 0 //If not then we can reset inertia and move
|
||||
|
||||
|
||||
if(mob.restrained()) //Why being pulled while cuffed prevents you from moving
|
||||
var/mob/puller = mob.pulledby
|
||||
if(puller)
|
||||
@@ -259,15 +256,6 @@
|
||||
move_delay = world.time + 1 SECOND // prevent spam
|
||||
return FALSE
|
||||
|
||||
//If the move was recent, count using old_move_delay
|
||||
//We want fractional behavior and all
|
||||
if(old_move_delay + world.tick_lag > world.time)
|
||||
//Yes this makes smooth movement stutter if add_delay is too fractional
|
||||
//Yes this is better then the alternative
|
||||
move_delay = old_move_delay
|
||||
else
|
||||
move_delay = world.time
|
||||
|
||||
if(mob.buckled_to)
|
||||
if(istype(mob.buckled_to, /obj/vehicle))
|
||||
//manually set move_delay for vehicles so we don't inherit any mob movement penalties
|
||||
@@ -314,7 +302,6 @@
|
||||
tally *= GLOB.config.walk_delay_multiplier
|
||||
|
||||
move_delay += tally
|
||||
move_delay += add_delay
|
||||
|
||||
if(mob_is_human && mob.lying)
|
||||
var/mob/living/carbon/human/H = mob
|
||||
@@ -337,6 +324,16 @@
|
||||
|
||||
//We are now going to move
|
||||
moving = 1
|
||||
|
||||
var/new_glide_size = mob.glide_size
|
||||
|
||||
if(old_move_delay + world.tick_lag > world.time)
|
||||
new_glide_size = DELAY_TO_GLIDE_SIZE((move_delay - old_move_delay) * ( (NSCOMPONENT(direct) && EWCOMPONENT(direct)) ? sqrt(2) : 1 ) )
|
||||
else
|
||||
new_glide_size = DELAY_TO_GLIDE_SIZE((move_delay - world.time) * ( (NSCOMPONENT(direct) && EWCOMPONENT(direct)) ? sqrt(2) : 1 ) )
|
||||
|
||||
mob.set_glide_size(new_glide_size) // set it now in case of pulled objects
|
||||
|
||||
if(mob_is_human)
|
||||
for(var/obj/item/grab/G in list(mob.l_hand, mob.r_hand))
|
||||
switch(G.get_grab_type())
|
||||
@@ -354,9 +351,11 @@
|
||||
for (var/obj/item/grab/G in list(mob.l_hand, mob.r_hand))
|
||||
if (G.state == GRAB_NECK)
|
||||
mob.set_dir(REVERSE_DIR(direct))
|
||||
G.affecting.set_glide_size(new_glide_size)
|
||||
G.adjust_position()
|
||||
|
||||
for (var/obj/item/grab/G in mob.grabbed_by)
|
||||
G.affecting.set_glide_size(new_glide_size)
|
||||
G.adjust_position()
|
||||
|
||||
moving = 0
|
||||
|
||||
Reference in New Issue
Block a user