mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
[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
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 906 B |
Binary file not shown.
|
After Width: | Height: | Size: 914 B |
@@ -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))
|
||||
|
||||
+13
-16
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user