From 40db532520fc9d38b445b2ccf0fac549a6d534a4 Mon Sep 17 00:00:00 2001 From: dawsonkeyes <76002401+dawsonkeyes@users.noreply.github.com> Date: Tue, 13 Jun 2023 19:17:13 -0600 Subject: [PATCH] [MODULAR] Marked One Changes Volume 4: He's Literally Me (#21378) * look out he's got a CANNON * dragonslayer 64x64 inhands * dragonslayer edits * woop woop offset fixes * cannon removal for a later date because wow that's buggy * higher roll cost and lowered invuln time to prevent invincible semi-functional flight * even higher roll stamcost because wow that should be more than 3 or 6 --- .../master_files/icons/mob/64x64_lefthand.dmi | Bin 0 -> 906 bytes .../icons/mob/64x64_righthand.dmi | Bin 0 -> 914 bytes .../game/objects/items/gladiator_items.dm | 14 +++++---- .../hostile/megafauna/markedone.dm | 29 ++++++++---------- 4 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 modular_skyrat/master_files/icons/mob/64x64_lefthand.dmi create mode 100644 modular_skyrat/master_files/icons/mob/64x64_righthand.dmi 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 0000000000000000000000000000000000000000..ba570208a15c24cf2e434562a2c0a8696f898687 GIT binary patch literal 906 zcmV;519kj~P)q*$KmY(FBPmc-Ts1d7EDsDxBpQ5zhYAV~dp|BCA}A6P z7r?;4*Yrz200001bW%=J06^y0W&i*He|l6{bVOxyV{&P5bZKvH004NLQ&wE+@~D@x2w1+fhgic^Xb)ARF+a}q04i*PAcR&e!m0Xqc%qRlE{ zT7>2F0007UNkl>WkUyA#ZJ+U89Z< zO;G><00026g|aNA^Ho);=cN}YORb<12UOwc)q@|4iLYEntMQFI^W&{TH^w(znKMC3fftKt)Q8h3z{zh@dfRd08_zB z1eo7L%_1PSpj`x53e9(?s9JW?d#0;9w6V}&+b(Ma?cR#K0v*8m)kVH zG29w;<0S%W0xtf=pNK#5O~QZ>J*SU9@=d~kK0YA+$WnXTpWu7cFh>6eNEwhtl7LVY z!*TN?k6a6s|BAzDJiZTGA9+arDG^R#{D|EjePl&~{h#Bw@sTy!#nbDUKJ=R&StSKH z*e?Zm*slb**e?V)+HVT*wBHioW4}GX$$m5T=f(cK_P&4mH6J_1aAZU0HL+t1M>ceR zKZM9Jh9ev5Cz~Gu0000000000006j_;8}*e_8zeJ{rL@-JN*U;p9D}0@5k|EDMgP|bplK_fw{4^9KeiA^?hu%=&=_Z_|z|($9fv^4X1>W|@7WmsASKx7fOo7k+ z&lh;z|7?NZ{m&J6-v3O2@BP0Qc;Ek9f&cxtf`Z?K`N?cNllZ!G7N;32F7#J$%1cwzAm45#cT=4Ph6D@CDt#fD22X6>9 zxM=*~k87zY_&Huh4O^JvnMNg)csC(kTV+NWZ=U4i{X_@hTYCv~*g zUOs)~qwRIZmvtkrU{`RL(B;pcyNZRhgS!hf!@>%_7BgD2GAuf)l^E6X^a}$6Q>CYi zV@SoEx3e$$H3tZ|Fg6C=>iYFxUOVGfLUPoMozL_t&NcI^?JoD@>NvSY1L$@T_}8>a zXYJ2btL{{0J4RNqO_f|=BtB(ndcaIZtzxi%bb>k4x<;#ce}%e=gilMyt?T&wRn)ZM zr$|;FQ?JSWdn{3gjnD6&VG(IAQ(GWuBD~4*vva~;$KTElMmJg;YIse{nX-9rSu-9z zAUeagRi*J}Fb89<#dp;ZYjZ=UovdBEs}sKdxof+?Wkt5~f0u9Nir+(D8GJJOEAV{x z#HwG4>K{JUbBZi;NaQTJX2Qhrr@Zm7uY>W6Jf@=f~UEXL4c>ynCOXuFteHSt2Lyz}mY{)41+)ti5RP#%aO7=}gC`X!iXw z3w?0owEMqpZ&c2oV)`|4zwYGiTd)6FJ%4egzG7vNI7gFe!9Ee!P0@~V-*OfHYVO-J zuYG$6+b5&vp^rYFI-NfqWFyAgX<->Dn2v)4b0853+g!&=Im18TdeT?+wbiU|41Ejc>T8D_;7X0 zpQQZyQ~wQl>L+E$M%ll${(thvzi=y&W{;nu%@IGZOS_!je@!9oUn!g5=k{Dd!%z8d-;Uq^{_wN? htGC}xelap^JE6`HXEHgVD7XjYPES`qmvv4FO#nVbl(YZ< literal 0 HcmV?d00001 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