diff --git a/modular_skyrat/master_files/icons/mob/64x64_lefthand.dmi b/modular_skyrat/master_files/icons/mob/64x64_lefthand.dmi new file mode 100644 index 00000000000..ba570208a15 Binary files /dev/null and b/modular_skyrat/master_files/icons/mob/64x64_lefthand.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/64x64_righthand.dmi b/modular_skyrat/master_files/icons/mob/64x64_righthand.dmi new file mode 100644 index 00000000000..2ef79054e9d Binary files /dev/null and b/modular_skyrat/master_files/icons/mob/64x64_righthand.dmi differ diff --git a/modular_skyrat/modules/gladiator/code/game/objects/items/gladiator_items.dm b/modular_skyrat/modules/gladiator/code/game/objects/items/gladiator_items.dm index 67ff99a8d4c..38934c105fe 100644 --- a/modular_skyrat/modules/gladiator/code/game/objects/items/gladiator_items.dm +++ b/modular_skyrat/modules/gladiator/code/game/objects/items/gladiator_items.dm @@ -116,8 +116,10 @@ icon = 'modular_skyrat/modules/gladiator/icons/dragonslayer.dmi' icon_state = "dragonslayer" inhand_icon_state = "dragonslayer" - lefthand_file = 'modular_skyrat/modules/gladiator/icons/dragonslayer_inhand_R.dmi' - righthand_file = 'modular_skyrat/modules/gladiator/icons/dragonslayer_inhand_L.dmi' //confusing, right? hahahaha im not fixing those fucken dmis + lefthand_file = 'modular_skyrat/master_files/icons/mob/64x64_lefthand.dmi' + righthand_file = 'modular_skyrat/master_files/icons/mob/64x64_righthand.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 hitsound = 'modular_skyrat/master_files/sound/weapons/bloodyslice.ogg' w_class = WEIGHT_CLASS_HUGE slot_flags = null @@ -130,10 +132,10 @@ sharpness = SHARP_EDGED item_flags = NO_BLOOD_ON_ITEM // aughhghghgh this really should be elementized but this works for now - var/faction_bonus_force = 100 + var/faction_bonus_force = 60 var/static/list/nemesis_factions = list("mining", "boss") /// how much stamina does it cost to roll - var/roll_stamcost = 15 + var/roll_stamcost = 9 /// how far do we roll? var/roll_range = 3 @@ -157,7 +159,7 @@ return var/turf/where_to = get_turf(target) user.apply_damage(damage = roll_stamcost, damagetype = STAMINA) - user.Immobilize(0.8 SECONDS) // you dont get to adjust your roll + user.Immobilize(0.1 SECONDS) // you dont get to adjust your roll user.throw_at(where_to, range = roll_range, speed = 1, force = MOVE_FORCE_NORMAL) user.apply_status_effect(/datum/status_effect/dodgeroll_iframes) playsound(user, SFX_BODYFALL, 50, TRUE) @@ -168,7 +170,7 @@ id = "dodgeroll_dodging" alert_type = null status_type = STATUS_EFFECT_REFRESH - duration = 0.8 SECONDS // worth tweaking? + duration = 1 SECONDS // worth tweaking? /datum/status_effect/dodgeroll_iframes/on_apply() RegisterSignal(owner, COMSIG_HUMAN_CHECK_SHIELDS, PROC_REF(whiff)) diff --git a/modular_skyrat/modules/gladiator/code/modules/mob/living/simple_animal/hostile/megafauna/markedone.dm b/modular_skyrat/modules/gladiator/code/modules/mob/living/simple_animal/hostile/megafauna/markedone.dm index fef369ad022..5497d13e831 100644 --- a/modular_skyrat/modules/gladiator/code/modules/mob/living/simple_animal/hostile/megafauna/markedone.dm +++ b/modular_skyrat/modules/gladiator/code/modules/mob/living/simple_animal/hostile/megafauna/markedone.dm @@ -33,6 +33,8 @@ move_to_delay = 2.25 pixel_x = -32 pixel_y = -9 + base_pixel_x = -32 + base_pixel_y = -9 wander = FALSE ranged = 1 ranged_cooldown_time = 30 @@ -110,10 +112,7 @@ /// Gets him mad at you if you're a species he's not racist towards, and provides the 50% to block attacks in the first and fourth phases /mob/living/simple_animal/hostile/megafauna/gladiator/adjustHealth(amount, updating_health, forced) get_angry() - if(spinning) - balloon_alert_to_viewers("damage blocked!") - return FALSE - else if(prob(block_chance) && (phase == 1) && !stunned) + if(prob(block_chance) && (phase == 1) && !stunned) balloon_alert_to_viewers("damage blocked!") return FALSE else if(prob(block_chance) && (phase == 4) && !stunned) @@ -206,7 +205,6 @@ if(anger_timer_id) deltimer(anger_timer_id) anger_timer_id = addtimer(CALLBACK(src, PROC_REF(get_calm)), MARKED_ONE_ANGER_DURATION, TIMER_STOPPABLE) - balloon_alert_to_viewers("angered!") /// Makes the Marked One a sleepy boy that don't wanna hurt nobody. He starts like this and progresses to his hostile state after seeing an ash walker or being punched in the noggin. /mob/living/simple_animal/hostile/megafauna/gladiator/proc/get_calm() @@ -286,7 +284,7 @@ if(phase == MARKED_ONE_SECOND_PHASE) phase = MARKED_ONE_THIRD_PHASE INVOKE_ASYNC(src, PROC_REF(charge), target, 21) - ranged_cooldown += 8 SECONDS + ranged_cooldown += 5 SECONDS rapid_melee = 4 melee_damage_upper = 25 melee_damage_lower = 25 @@ -355,7 +353,7 @@ sleep(1) spinning = FALSE -/// The Marked One's charge has an instant travel time, but takes a moment to power-up, allowing you to get behind cover to stun him if he hits a wall. Only ever called when a phase change occurs, as it hardstuns if it lands +/// The Marked One's charge is extremely quick, but takes a moment to power-up, allowing you to get behind cover to stun him if he hits a wall. Only ever called when a phase change occurs, as it stuns if it lands /mob/living/simple_animal/hostile/megafauna/gladiator/proc/charge(atom/target, range = 1) face_atom(target) var/static/list/charge_messages = list( @@ -375,7 +373,7 @@ charging = TRUE update_phase() -/// Discharge damages the Marked One and stuns him when he slams into a wall whilst charging +/// Discharge stuns the marked one momentarily after landing a charge into a wall or a person /mob/living/simple_animal/hostile/megafauna/gladiator/proc/discharge(modifier = 1) stunned = TRUE charging = FALSE @@ -474,9 +472,8 @@ INVOKE_ASYNC(src, PROC_REF(swordslam)) ranged_cooldown += 2 SECONDS else - INVOKE_ASYNC(src, PROC_REF(bone_knife_throw), target) - INVOKE_ASYNC(src, PROC_REF(teleport), target) - ranged_cooldown += 2 SECONDS + INVOKE_ASYNC(src, PROC_REF(charge), target, 21) + ranged_cooldown += 5 SECONDS else INVOKE_ASYNC(src, PROC_REF(teleport), target) ranged_cooldown += 0.5 SECONDS @@ -487,11 +484,11 @@ INVOKE_ASYNC(src, PROC_REF(spinattack)) ranged_cooldown += 3 SECONDS else - INVOKE_ASYNC(src, PROC_REF(swordslam)) - ranged_cooldown += 2 SECONDS + INVOKE_ASYNC(src, PROC_REF(charge), target, 21) + ranged_cooldown += 4 SECONDS else INVOKE_ASYNC(src, PROC_REF(bone_knife_throw), target) - INVOKE_ASYNC(src, PROC_REF(teleport), target) + INVOKE_ASYNC(src, PROC_REF(swordslam)) ranged_cooldown += 2 SECONDS else INVOKE_ASYNC(src, PROC_REF(bone_knife_throw), target) @@ -513,9 +510,9 @@ INVOKE_ASYNC(src, PROC_REF(stomp)) ranged_cooldown += 0.5 SECONDS else - INVOKE_ASYNC(src, PROC_REF(teleport), target) + INVOKE_ASYNC(src, PROC_REF(charge), target, 21) INVOKE_ASYNC(src, PROC_REF(stomp)) - ranged_cooldown += 0.5 SECONDS + ranged_cooldown += 2.5 SECONDS #undef MARKED_ONE_STUN_DURATION #undef MARKED_ONE_ANGER_DURATION