noconflicts (#19033)

This commit is contained in:
Molti
2023-05-27 23:18:56 -05:00
committed by GitHub
parent 29f90731b2
commit fd9b3557a1
6 changed files with 52 additions and 52 deletions

View File

@@ -17,7 +17,7 @@
#define MARTIALART_GARDENWARFARE "garden warfare" #define MARTIALART_GARDENWARFARE "garden warfare"
#define MARTIALART_ULTRAVIOLENCE "ultra violence" #define MARTIALART_ULTRAVIOLENCE "ultra violence"
#define MARTIALART_BUSTERSTYLE "buster style" #define MARTIALART_BUSTERSTYLE "buster style"
#define MARTIALART_WORLDSHAKER "worldshaker" #define MARTIALART_WORLDBREAKER "worldbreaker"
//Weapon stat defines //Weapon stat defines

View File

@@ -18,12 +18,12 @@
#define THROW_SLAMDMG 5 //the damage dealt per object impacted during a throw #define THROW_SLAMDMG 5 //the damage dealt per object impacted during a throw
#define THROW_OBJDMG 500 //Total amount of structure damage that can be done #define THROW_OBJDMG 500 //Total amount of structure damage that can be done
/datum/martial_art/worldshaker /datum/martial_art/worldbreaker
name = "Worldshaker" name = "Worldbreaker"
id = MARTIALART_WORLDSHAKER id = MARTIALART_WORLDBREAKER
no_guns = TRUE no_guns = TRUE
help_verb = /mob/living/carbon/human/proc/worldshaker_help help_verb = /mob/living/carbon/human/proc/worldbreaker_help
var/recalibration = /mob/living/carbon/human/proc/worldshaker_recalibration var/recalibration = /mob/living/carbon/human/proc/worldbreaker_recalibration
var/list/thrown = list() var/list/thrown = list()
COOLDOWN_DECLARE(next_leap) COOLDOWN_DECLARE(next_leap)
COOLDOWN_DECLARE(next_balloon) COOLDOWN_DECLARE(next_balloon)
@@ -35,18 +35,18 @@
var/heavy = FALSE // var/heavy = FALSE //
var/currentplate = 0 //how much damage the current plate has taken var/currentplate = 0 //how much damage the current plate has taken
/datum/martial_art/worldshaker/can_use(mob/living/carbon/human/H) /datum/martial_art/worldbreaker/can_use(mob/living/carbon/human/H)
if(H.stat == DEAD || H.IsUnconscious() || H.IsFrozen() || HAS_TRAIT(H, TRAIT_PACIFISM)) if(H.stat == DEAD || H.IsUnconscious() || H.IsFrozen() || HAS_TRAIT(H, TRAIT_PACIFISM))
return FALSE return FALSE
return ispreternis(H) return ispreternis(H)
/datum/martial_art/worldshaker/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) /datum/martial_art/worldbreaker/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
return TRUE //you're doing enough pushing as is return TRUE //you're doing enough pushing as is
/datum/martial_art/worldshaker/harm_act(mob/living/carbon/human/A, mob/living/D) /datum/martial_art/worldbreaker/harm_act(mob/living/carbon/human/A, mob/living/D)
return TRUE //no punch, just pummel return TRUE //no punch, just pummel
/datum/martial_art/worldshaker/proc/InterceptClickOn(mob/living/carbon/human/H, params, atom/target) /datum/martial_art/worldbreaker/proc/InterceptClickOn(mob/living/carbon/human/H, params, atom/target)
var/list/modifiers = params2list(params) var/list/modifiers = params2list(params)
if(!(can_use(H)) || (modifiers["shift"] || modifiers["alt"] || modifiers["ctrl"])) if(!(can_use(H)) || (modifiers["shift"] || modifiers["alt"] || modifiers["ctrl"]))
return return
@@ -74,17 +74,17 @@
/*------------------------------------------------------------- /*-------------------------------------------------------------
start of helpers section start of helpers section
---------------------------------------------------------*/ ---------------------------------------------------------*/
/datum/martial_art/worldshaker/proc/stagger(mob/living/victim) /datum/martial_art/worldbreaker/proc/stagger(mob/living/victim)
if(HAS_TRAIT(victim, TRAIT_STUNIMMUNE)) if(HAS_TRAIT(victim, TRAIT_STUNIMMUNE))
return return
victim.set_resting(TRUE)//basically a trip victim.set_resting(TRUE)//basically a trip
victim.add_movespeed_modifier(id, update=TRUE, priority=101, multiplicative_slowdown = 0.5) victim.add_movespeed_modifier(id, update=TRUE, priority=101, multiplicative_slowdown = 0.5)
addtimer(CALLBACK(src, PROC_REF(stagger_end), victim), STAGGER_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) addtimer(CALLBACK(src, PROC_REF(stagger_end), victim), STAGGER_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE)
/datum/martial_art/worldshaker/proc/stagger_end(mob/living/victim) /datum/martial_art/worldbreaker/proc/stagger_end(mob/living/victim)
victim.remove_movespeed_modifier(id) victim.remove_movespeed_modifier(id)
/datum/martial_art/worldshaker/proc/push_away(mob/living/user, atom/movable/victim, distance = 1) /datum/martial_art/worldbreaker/proc/push_away(mob/living/user, atom/movable/victim, distance = 1)
if(victim.anchored) if(victim.anchored)
return return
if(get_turf(victim) == get_turf(user)) if(get_turf(victim) == get_turf(user))
@@ -97,7 +97,7 @@
distance *= 2 distance *= 2
victim.throw_at(throw_target, distance, throwspeed, user) victim.throw_at(throw_target, distance, throwspeed, user)
/datum/martial_art/worldshaker/proc/hurt(mob/living/user, mob/living/target, damage)//proc the moves will use for damage dealing /datum/martial_art/worldbreaker/proc/hurt(mob/living/user, mob/living/target, damage)//proc the moves will use for damage dealing
stagger(target) stagger(target)
var/obj/item/bodypart/limb_to_hit = target.get_bodypart(user.zone_selected) var/obj/item/bodypart/limb_to_hit = target.get_bodypart(user.zone_selected)
var/meleearmor = target.run_armor_check(limb_to_hit, MELEE, armour_penetration = 25) var/meleearmor = target.run_armor_check(limb_to_hit, MELEE, armour_penetration = 25)
@@ -110,7 +110,7 @@
/*--------------------------------------------------------------- /*---------------------------------------------------------------
start of plates section start of plates section
---------------------------------------------------------------*/ ---------------------------------------------------------------*/
/datum/martial_art/worldshaker/proc/grow_plate(mob/living/carbon/human/user) /datum/martial_art/worldbreaker/proc/grow_plate(mob/living/carbon/human/user)
if(plates >= PLATE_CAP || user.stat == DEAD || !can_use(user))//no quaking the entire station if(plates >= PLATE_CAP || user.stat == DEAD || !can_use(user))//no quaking the entire station
return return
user.balloon_alert(user, span_notice("your plates grow thicker!")) user.balloon_alert(user, span_notice("your plates grow thicker!"))
@@ -119,7 +119,7 @@
user.physiology.damage_resistance += PLATE_REDUCTION user.physiology.damage_resistance += PLATE_REDUCTION
update_platespeed(user) update_platespeed(user)
/datum/martial_art/worldshaker/proc/rip_plate(mob/living/carbon/human/user) /datum/martial_art/worldbreaker/proc/rip_plate(mob/living/carbon/human/user)
if(plates <= 0) if(plates <= 0)
to_chat(user, span_warning("Your plates are too thin to tear off a piece!")) to_chat(user, span_warning("Your plates are too thin to tear off a piece!"))
return return
@@ -136,7 +136,7 @@
user.changeNext_move(0.1)//entirely to prevent hitting yourself instantly user.changeNext_move(0.1)//entirely to prevent hitting yourself instantly
user.throw_mode_on() user.throw_mode_on()
/datum/martial_art/worldshaker/proc/lose_plate(mob/living/carbon/human/user, damage, damagetype, def_zone) /datum/martial_art/worldbreaker/proc/lose_plate(mob/living/carbon/human/user, damage, damagetype, def_zone)
if(plates <= 0)//no plate to lose if(plates <= 0)//no plate to lose
return return
@@ -161,7 +161,7 @@
if(plates <= 0)//can't lose any more plates if you have none if(plates <= 0)//can't lose any more plates if you have none
currentplate = 0 currentplate = 0
/datum/martial_art/worldshaker/proc/update_platespeed(mob/living/carbon/human/user)//slowdown scales infinitely (damage reduction doesn't) /datum/martial_art/worldbreaker/proc/update_platespeed(mob/living/carbon/human/user)//slowdown scales infinitely (damage reduction doesn't)
heavy = plates >= MAX_PLATES heavy = plates >= MAX_PLATES
var/platespeed = (plates * 0.2) - 0.5 //faster than normal if either no or few plates var/platespeed = (plates * 0.2) - 0.5 //faster than normal if either no or few plates
user.remove_movespeed_modifier(type) user.remove_movespeed_modifier(type)
@@ -184,7 +184,7 @@
REMOVE_TRAIT(user, TRAIT_RESISTLOWPRESSURE, type) REMOVE_TRAIT(user, TRAIT_RESISTLOWPRESSURE, type)
/obj/item/worldplate /obj/item/worldplate
name = "worldshaker plate" name = "worldbreaker plate"
desc = "A sizeable plasteel plate, you can barely imagine the strength it would take to throw this." desc = "A sizeable plasteel plate, you can barely imagine the strength it would take to throw this."
icon = 'icons/obj/meteor.dmi' icon = 'icons/obj/meteor.dmi'
icon_state = "sharp" icon_state = "sharp"
@@ -198,13 +198,13 @@
throwforce = 10 //more of a ranged CC than a ranged weapon throwforce = 10 //more of a ranged CC than a ranged weapon
throw_speed = 3 throw_speed = 3
throw_range = 8 throw_range = 8
var/datum/martial_art/worldshaker/linked_martial var/datum/martial_art/worldbreaker/linked_martial
/obj/item/worldplate/equipped(mob/user, slot, initial)//difficult for regular people to throw /obj/item/worldplate/equipped(mob/user, slot, initial)//difficult for regular people to throw
. = ..() . = ..()
var/worldshaker = (user.mind?.martial_art && istype(user.mind.martial_art, /datum/martial_art/worldshaker)) var/worldbreaker = (user.mind?.martial_art && istype(user.mind.martial_art, /datum/martial_art/worldbreaker))
throw_speed = worldshaker ? 3 : 1 throw_speed = worldbreaker ? 3 : 1
throw_range = worldshaker ? 8 : 3 throw_range = worldbreaker ? 8 : 3
/obj/item/worldplate/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) /obj/item/worldplate/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
. = ..() . = ..()
@@ -221,7 +221,7 @@
/*--------------------------------------------------------------- /*---------------------------------------------------------------
start of leap section start of leap section
---------------------------------------------------------------*/ ---------------------------------------------------------------*/
/datum/martial_art/worldshaker/proc/leap(mob/living/user, atom/target) /datum/martial_art/worldbreaker/proc/leap(mob/living/user, atom/target)
if(!COOLDOWN_FINISHED(src, next_leap)) if(!COOLDOWN_FINISHED(src, next_leap))
if(COOLDOWN_FINISHED(src, next_balloon)) if(COOLDOWN_FINISHED(src, next_balloon))
COOLDOWN_START(src, next_balloon, BALLOON_COOLDOWN) COOLDOWN_START(src, next_balloon, BALLOON_COOLDOWN)
@@ -249,7 +249,7 @@
playsound(user, 'sound/effects/gravhit.ogg', 15) playsound(user, 'sound/effects/gravhit.ogg', 15)
playsound(user, 'sound/effects/dodge.ogg', 15, TRUE) playsound(user, 'sound/effects/dodge.ogg', 15, TRUE)
/datum/martial_art/worldshaker/proc/leap_end(mob/living/carbon/human/user) /datum/martial_art/worldbreaker/proc/leap_end(mob/living/carbon/human/user)
user.SetImmobilized(0 SECONDS, ignore_canstun = TRUE) user.SetImmobilized(0 SECONDS, ignore_canstun = TRUE)
leaping = FALSE leaping = FALSE
var/range = LEAP_RADIUS var/range = LEAP_RADIUS
@@ -284,10 +284,10 @@
animate(shockwave, alpha = 0, transform = matrix().Scale(range/3), time = 1 + (range/10)) animate(shockwave, alpha = 0, transform = matrix().Scale(range/3), time = 1 + (range/10))
QDEL_IN(shockwave, 2 + (range/10)) QDEL_IN(shockwave, 2 + (range/10))
/datum/martial_art/worldshaker/proc/reset_pixel(mob/living/user)//in case something happens, we don't permanently float /datum/martial_art/worldbreaker/proc/reset_pixel(mob/living/user)//in case something happens, we don't permanently float
animate(user, time = 0.1 SECONDS, pixel_y = 0) animate(user, time = 0.1 SECONDS, pixel_y = 0)
/datum/martial_art/worldshaker/handle_throw(atom/hit_atom, mob/living/carbon/human/A) /datum/martial_art/worldbreaker/handle_throw(atom/hit_atom, mob/living/carbon/human/A)
if(leaping) if(leaping)
return TRUE return TRUE
return ..() return ..()
@@ -297,11 +297,11 @@
/*--------------------------------------------------------------- /*---------------------------------------------------------------
start of grapple section start of grapple section
---------------------------------------------------------------*/ ---------------------------------------------------------------*/
/datum/martial_art/worldshaker/proc/drop()//proc for clearing the thrown list, mostly so the lob proc doesnt get triggered when it shouldn't /datum/martial_art/worldbreaker/proc/drop()//proc for clearing the thrown list, mostly so the lob proc doesnt get triggered when it shouldn't
for(var/atom/movable/thing in thrown) for(var/atom/movable/thing in thrown)
thrown.Remove(thing) thrown.Remove(thing)
/datum/martial_art/worldshaker/proc/grapple(mob/living/user, atom/target) //proc for picking something up to toss /datum/martial_art/worldbreaker/proc/grapple(mob/living/user, atom/target) //proc for picking something up to toss
var/turf/Z = get_turf(user) var/turf/Z = get_turf(user)
target.add_fingerprint(user, FALSE) target.add_fingerprint(user, FALSE)
@@ -321,7 +321,7 @@
thrown |= victim // Marks the mob to throw thrown |= victim // Marks the mob to throw
return return
/datum/martial_art/worldshaker/proc/throw_start(mob/living/user, atom/target)//proc for throwing something you picked up with grapple /datum/martial_art/worldbreaker/proc/throw_start(mob/living/user, atom/target)//proc for throwing something you picked up with grapple
var/target_dist = get_dist(user, target) var/target_dist = get_dist(user, target)
var/turf/D = get_turf(target) var/turf/D = get_turf(target)
var/atom/tossed = thrown[1] var/atom/tossed = thrown[1]
@@ -343,7 +343,7 @@
throw_process(user, target_dist, 1, tossed, D, THROW_OBJDMG) throw_process(user, target_dist, 1, tossed, D, THROW_OBJDMG)
/datum/martial_art/worldshaker/proc/throw_process(mob/living/user, target_dist, current_dist, atom/tossed, turf/target, remaining_damage)//each call of the throw loop /datum/martial_art/worldbreaker/proc/throw_process(mob/living/user, target_dist, current_dist, atom/tossed, turf/target, remaining_damage)//each call of the throw loop
if(!target_dist || !current_dist || !tossed || current_dist > target_dist) if(!target_dist || !current_dist || !tossed || current_dist > target_dist)
drop() drop()
return return
@@ -415,7 +415,7 @@
/*--------------------------------------------------------------- /*---------------------------------------------------------------
start of pummel section start of pummel section
---------------------------------------------------------------*/ ---------------------------------------------------------------*/
/datum/martial_art/worldshaker/proc/pummel(mob/living/user, mob/living/target) /datum/martial_art/worldbreaker/proc/pummel(mob/living/user, mob/living/target)
if(user == target) if(user == target)
return return
if(!COOLDOWN_FINISHED(src, next_pummel)) if(!COOLDOWN_FINISHED(src, next_pummel))
@@ -453,7 +453,7 @@
button_icon_state = "lightning" button_icon_state = "lightning"
background_icon_state = "bg_default" background_icon_state = "bg_default"
check_flags = AB_CHECK_HANDS_BLOCKED | AB_CHECK_IMMOBILE | AB_CHECK_LYING | AB_CHECK_CONSCIOUS check_flags = AB_CHECK_HANDS_BLOCKED | AB_CHECK_IMMOBILE | AB_CHECK_LYING | AB_CHECK_CONSCIOUS
var/datum/martial_art/worldshaker/linked_martial var/datum/martial_art/worldbreaker/linked_martial
cooldown_time = COOLDOWN_STOMP cooldown_time = COOLDOWN_STOMP
var/charging = FALSE var/charging = FALSE
@@ -524,10 +524,10 @@
/*--------------------------------------------------------------- /*---------------------------------------------------------------
training related section training related section
---------------------------------------------------------------*/ ---------------------------------------------------------------*/
/mob/living/carbon/human/proc/worldshaker_help() /mob/living/carbon/human/proc/worldbreaker_help()
set name = "Worldshaker" set name = "Worldbreaker"
set desc = "Imagine all the things you would be capable of with this power." set desc = "Imagine all the things you would be capable of with this power."
set category = "Worldshaker" set category = "Worldbreaker"
var/list/combined_msg = list() var/list/combined_msg = list()
combined_msg += "<b><i>You imagine all the things you would be capable of with this power.</i></b>" combined_msg += "<b><i>You imagine all the things you would be capable of with this power.</i></b>"
@@ -563,17 +563,17 @@
to_chat(usr, examine_block(combined_msg.Join("\n"))) to_chat(usr, examine_block(combined_msg.Join("\n")))
/mob/living/carbon/human/proc/worldshaker_recalibration() /mob/living/carbon/human/proc/worldbreaker_recalibration()
set name = "Flush Circuits" set name = "Flush Circuits"
set desc = "Flush 'clogged' circuits in order to regain lost strength." set desc = "Flush 'clogged' circuits in order to regain lost strength."
set category = "Worldshaker" set category = "Worldbreaker"
var/list/combined_msg = list() var/list/combined_msg = list()
combined_msg += "<b><i>You flush your circuits with excess power to reduce built up strain on your limbs.</i></b>" combined_msg += "<b><i>You flush your circuits with excess power to reduce built up strain on your limbs.</i></b>"
to_chat(usr, examine_block(combined_msg.Join("\n"))) to_chat(usr, examine_block(combined_msg.Join("\n")))
usr.click_intercept = usr.mind.martial_art usr.click_intercept = usr.mind.martial_art
/datum/martial_art/worldshaker/teach(mob/living/carbon/human/H, make_temporary=0) /datum/martial_art/worldbreaker/teach(mob/living/carbon/human/H, make_temporary=0)
..() ..()
var/datum/species/preternis/S = H.dna.species var/datum/species/preternis/S = H.dna.species
if(istype(S))//burn bright my friend if(istype(S))//burn bright my friend
@@ -597,7 +597,7 @@
linked_stomp.linked_martial = src linked_stomp.linked_martial = src
linked_stomp.Grant(H) linked_stomp.Grant(H)
/datum/martial_art/worldshaker/on_remove(mob/living/carbon/human/H) /datum/martial_art/worldbreaker/on_remove(mob/living/carbon/human/H)
var/datum/species/preternis/S = H.dna.species var/datum/species/preternis/S = H.dna.species
if(istype(S))//but not that bright if(istype(S))//but not that bright
S.power_drain /= 5 S.power_drain /= 5

View File

@@ -115,14 +115,14 @@
// I did not include mushpunch's grant, it is not a book and the item does it just fine. // I did not include mushpunch's grant, it is not a book and the item does it just fine.
/obj/item/book/granter/martial/worldshaker /obj/item/book/granter/martial/worldbreaker
martial = /datum/martial_art/worldshaker martial = /datum/martial_art/worldbreaker
name = "prototype worldshaker compound" name = "prototype worldbreaker compound"
martial_name = "Worldshaker" martial_name = "Worldbreaker"
desc = "A foul concoction made by reverse engineering chemicals compounds found in an ancient Vxtrin military outpost." desc = "A foul concoction made by reverse engineering chemicals compounds found in an ancient Vxtrin military outpost."
greet = span_sciradio("You feel weirdly good, good enough to shake the world to it's very core. \ greet = span_sciradio("You feel weirdly good, good enough to shake the world to it's very core. \
Your plates feel like they are growing past their normal limits. The protection will come in handy, but it will eventually slow you down.\ Your plates feel like they are growing past their normal limits. The protection will come in handy, but it will eventually slow you down.\
You can think about all the things you are now capable of by using the Worldshaker tab.") You can think about all the things you are now capable of by using the Worldbreaker tab.")
icon = 'icons/obj/drinks.dmi' icon = 'icons/obj/drinks.dmi'
icon_state = "flaming_moe" icon_state = "flaming_moe"
remarks = list( remarks = list(

View File

@@ -677,7 +677,7 @@
#include "code\datums\martial\psychotic_brawl.dm" #include "code\datums\martial\psychotic_brawl.dm"
#include "code\datums\martial\sleeping_carp.dm" #include "code\datums\martial\sleeping_carp.dm"
#include "code\datums\martial\ultra_violence.dm" #include "code\datums\martial\ultra_violence.dm"
#include "code\datums\martial\worldshaker.dm" #include "code\datums\martial\worldbreaker.dm"
#include "code\datums\martial\wrestling.dm" #include "code\datums\martial\wrestling.dm"
#include "code\datums\materials\_material.dm" #include "code\datums\materials\_material.dm"
#include "code\datums\materials\basemats.dm" #include "code\datums\materials\basemats.dm"

View File

@@ -396,12 +396,12 @@ GLOBAL_LIST_INIT(battleroyale_utility, list(//bombs, explosives, anything that's
martial = /datum/martial_art/ultra_violence martial = /datum/martial_art/ultra_violence
species = /datum/species/ipc species = /datum/species/ipc
/obj/item/battleroyale/martial/worldshaker /obj/item/battleroyale/martial/worldbreaker
name = "Worldshaker martial mutator" name = "Worldbreaker martial mutator"
desc = "Transforms you into a lumbering metal juggernaut." desc = "Transforms you into a lumbering metal juggernaut."
icon = 'icons/obj/drinks.dmi' icon = 'icons/obj/drinks.dmi'
icon_state = "flaming_moe" icon_state = "flaming_moe"
martial = /datum/martial_art/worldshaker martial = /datum/martial_art/worldbreaker
species = /datum/species/preternis species = /datum/species/preternis
/obj/item/battleroyale/martial/lizard /obj/item/battleroyale/martial/lizard

View File

@@ -155,14 +155,14 @@
item = /obj/item/book/granter/martial/preternis_stealth item = /obj/item/book/granter/martial/preternis_stealth
restricted_species = list("preternis") restricted_species = list("preternis")
/datum/uplink_item/race_restricted/worldshaker /datum/uplink_item/race_restricted/worldbreaker
name = "Prototype worldshaker compound" name = "Prototype worldbreaker compound"
desc = "A foul concoction made by reverse engineering chemicals compounds found in an ancient Vxtrin military outpost.\ desc = "A foul concoction made by reverse engineering chemicals compounds found in an ancient Vxtrin military outpost.\
Said to cause rapid muscle and plate growth in any Preternis that consumes it. It's believed to have been used by Vxtrin to transform their workers into highly effective commando units.\ Said to cause rapid muscle and plate growth in any Preternis that consumes it. It's believed to have been used by Vxtrin to transform their workers into highly effective commando units.\
It is not uncommon for Preterni that have consumed it to be crushed under the weight of their own ever-growing skin. The weight will also prevent use of conventional vehicles." It is not uncommon for Preterni that have consumed it to be crushed under the weight of their own ever-growing skin. The weight will also prevent use of conventional vehicles."
cost = 20 cost = 20
player_minimum = 25 //basically a fuckin megafauna player_minimum = 25 //basically a fuckin megafauna
item = /obj/item/book/granter/martial/worldshaker item = /obj/item/book/granter/martial/worldbreaker
manufacturer = /datum/corporation/traitor/vahlen manufacturer = /datum/corporation/traitor/vahlen
restricted_species = list("preternis") restricted_species = list("preternis")