mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 13:05:44 +01:00
More Revenant Tweaks (#11146)
This commit is contained in:
@@ -1835,6 +1835,7 @@
|
||||
#include "code\modules\martial_arts\gunkata.dm"
|
||||
#include "code\modules\martial_arts\martial.dm"
|
||||
#include "code\modules\martial_arts\plasma_fist.dm"
|
||||
#include "code\modules\martial_arts\revenant.dm"
|
||||
#include "code\modules\martial_arts\skrell.dm"
|
||||
#include "code\modules\martial_arts\sleeping_carp.dm"
|
||||
#include "code\modules\martial_arts\sol_combat.dm"
|
||||
|
||||
@@ -322,6 +322,7 @@
|
||||
#define USE_ALLOW_NON_ADJACENT 16
|
||||
#define USE_FORCE_SRC_IN_USER 32
|
||||
#define USE_DISALLOW_SILICONS 64
|
||||
#define USE_DISALLOW_SPECIALS 128 // revenants, zombies, etc
|
||||
|
||||
#define USE_SUCCESS 0
|
||||
#define USE_FAIL_NON_ADJACENT 1
|
||||
@@ -331,6 +332,7 @@
|
||||
#define USE_FAIL_INCAPACITATED 5
|
||||
#define USE_FAIL_NOT_IN_USER 6
|
||||
#define USE_FAIL_IS_SILICON 7
|
||||
#define USE_FAIL_IS_MOB_SPECIAL 8
|
||||
|
||||
#define DEFAULT_SIGHT (SEE_SELF)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ var/datum/antagonist/revenant/revenants = null
|
||||
hard_cap = 12
|
||||
hard_cap_round = 12
|
||||
|
||||
var/rifts_left = 3
|
||||
var/rifts_left = 1
|
||||
var/kill_count = 0
|
||||
var/obj/effect/portal/revenant/revenant_rift
|
||||
|
||||
|
||||
@@ -160,6 +160,11 @@
|
||||
to_chat(user, "<span class='notice'>How do you propose doing that without hands?</span>")
|
||||
return USE_FAIL_IS_SILICON
|
||||
|
||||
if (HAS_FLAG(USE_DISALLOW_SPECIALS) && is_mob_special(user))
|
||||
if (show_messages)
|
||||
to_chat(user, "<span class='notice'>Your current mob type prevents you from doing this.</span>")
|
||||
return USE_FAIL_IS_MOB_SPECIAL
|
||||
|
||||
if (HAS_FLAG(USE_FORCE_SRC_IN_USER) && !(src in user))
|
||||
if (show_messages)
|
||||
to_chat(user, "<span class='notice'>You need to be holding [src] to do that.</span>")
|
||||
|
||||
@@ -399,6 +399,9 @@
|
||||
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
|
||||
return
|
||||
else if(istype(O, /obj/structure/reagent_dispensers/fueltank) && O.Adjacent(user) && welding)
|
||||
if(use_check(user, USE_DISALLOW_SPECIALS))
|
||||
to_chat(user, SPAN_WARNING("A strange force prevents you from doing this.")) //there is no way to justify this icly
|
||||
return
|
||||
var/obj/structure/reagent_dispensers/fueltank/tank = O
|
||||
if(tank.armed)
|
||||
to_chat(user, "<span class='warning'>You are already heating \the [O]!</span>")
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#define BASH_SLASH "HHH"
|
||||
|
||||
/datum/martial_art/revenant
|
||||
name = "Revenant"
|
||||
help_verb = /datum/martial_art/revenant/proc/revenant_help
|
||||
no_guns = TRUE
|
||||
no_guns_message = "Revenants cannot use guns."
|
||||
|
||||
/datum/martial_art/revenant/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
if(findtext(streak, BASH_SLASH))
|
||||
streak = ""
|
||||
bash_slash(A, D)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/martial_art/revenant/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
add_to_streak("H", D)
|
||||
if(check_streak(A, D))
|
||||
return TRUE
|
||||
basic_hit(A, D)
|
||||
return TRUE
|
||||
|
||||
/datum/martial_art/revenant/proc/bash_slash(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
A.do_attack_animation(D)
|
||||
D.visible_message(SPAN_DANGER("[A] bashes [D] away!"), SPAN_DANGER("[A] bashes you away!"))
|
||||
D.apply_damage(rand(5, 10), BRUTE, damage_flags = DAM_SHARP)
|
||||
var/throw_range = rand(1, 2)
|
||||
D.throw_at(get_step_away(D, A, throw_range), throw_range, THROWNOBJ_KNOCKBACK_SPEED / 3, A, FALSE)
|
||||
playsound(get_turf(D), 'sound/weapons/slash.ogg', 25, 1, -1)
|
||||
return TRUE
|
||||
|
||||
/datum/martial_art/revenant/proc/revenant_help()
|
||||
set name = "Recall Revenant Combat"
|
||||
set desc = "Remember the martial techniques of the bluespace masters."
|
||||
set category = "Abilities"
|
||||
|
||||
to_chat(usr, "<b><i>You think of your former dimension...</i></b>")
|
||||
to_chat(usr, "<span class='notice'>Bash Slash</span>: Harm Harm Harm. Deliver a strong slashing strike against the enemy, pushing them away.")
|
||||
|
||||
#undef BASH_SLASH
|
||||
@@ -123,6 +123,8 @@
|
||||
H.gender = NEUTER
|
||||
H.universal_understand = TRUE
|
||||
H.add_language(LANGUAGE_REVENANT_RIFTSPEAK)
|
||||
var/datum/martial_art/revenant/R = new /datum/martial_art/revenant()
|
||||
R.teach(H)
|
||||
|
||||
/datum/species/revenant/get_random_name()
|
||||
return "Revenant"
|
||||
@@ -133,7 +135,7 @@
|
||||
return FALSE
|
||||
|
||||
/datum/species/revenant/bullet_act(var/obj/item/projectile/P, var/def_zone, var/mob/living/carbon/human/H)
|
||||
if((istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) && prob(30))
|
||||
if((istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) && prob(20))
|
||||
H.visible_message(SPAN_CULT("The [P.name] gets absorbed by [H]!"), SPAN_CULT("You absorb the [P.name]!"))
|
||||
return -1
|
||||
return ..()
|
||||
@@ -116,6 +116,13 @@
|
||||
/mob/living/carbon/alien/diona/is_diona()
|
||||
return DIONA_NYMPH
|
||||
|
||||
/proc/is_mob_special(A) // determines special mobs. has restrictions on certain things, like welderbombing
|
||||
if(isrevenant(A))
|
||||
return TRUE
|
||||
if(iszombie(A))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/proc/isskeleton(A)
|
||||
if(istype(A, /mob/living/carbon/human) && (A:get_species() == SPECIES_SKELETON))
|
||||
return 1
|
||||
|
||||
@@ -65,6 +65,9 @@
|
||||
return
|
||||
|
||||
if (O.iswrench())
|
||||
if(use_check(user, USE_DISALLOW_SPECIALS))
|
||||
to_chat(user, SPAN_WARNING("A strange force prevents you from doing this.")) //there is no way to justify this icly
|
||||
return
|
||||
if(can_tamper && user.a_intent == I_HURT)
|
||||
user.visible_message("<span class='warning'>\The [user] wrenches \the [src]'s faucet [is_leaking ? "closed" : "open"].</span>","<span class='warning'>You wrench \the [src]'s faucet [is_leaking ? "closed" : "open"]</span>")
|
||||
is_leaking = !is_leaking
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Revenants now get a martial art that allows them to bash people away on a three hit combo. This replaces their ability to use guns."
|
||||
- rscdel: "Revenants are no longer able to operate welderbombs."
|
||||
- tweak: "Revenants now absorb 20% of laser fire instead of 30%."
|
||||
- tweak: "Moved Revenant spawnpoints into the station."
|
||||
- tweak: "Tweaked the rift gameplay, should be easier for the station to stop the revenants now."
|
||||
@@ -36,13 +36,6 @@
|
||||
},
|
||||
/turf/simulated/floor/carpet/rubber,
|
||||
/area/engineering/cooling)
|
||||
"ep" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
"eu" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/storage/briefcase/inflatable,
|
||||
@@ -334,6 +327,9 @@
|
||||
d2 = 2;
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/plating{
|
||||
roof_type = null
|
||||
},
|
||||
@@ -12774,7 +12770,7 @@ CN
|
||||
CN
|
||||
mc
|
||||
CN
|
||||
ep
|
||||
Ar
|
||||
CN
|
||||
UG
|
||||
sQ
|
||||
|
||||
@@ -2019,6 +2019,9 @@
|
||||
pixel_y = 8;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/tiled/freezer,
|
||||
/area/engineering/bathroom)
|
||||
"aeP" = (
|
||||
@@ -12066,6 +12069,9 @@
|
||||
dir = 1;
|
||||
pixel_y = -28
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/medical/patient_wing_gym)
|
||||
"avG" = (
|
||||
@@ -22398,6 +22404,9 @@
|
||||
/obj/effect/floor_decal/industrial/warning{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/rnd/xenobiology/xenoflora_hazard)
|
||||
"aVJ" = (
|
||||
@@ -29479,17 +29488,6 @@
|
||||
},
|
||||
/turf/simulated/floor/carpet,
|
||||
/area/engineering/break_room)
|
||||
"iwX" = (
|
||||
/obj/effect/floor_decal/industrial/warning/dust{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/airless{
|
||||
icon_state = "asteroidplating"
|
||||
},
|
||||
/area/mine/unexplored)
|
||||
"iAw" = (
|
||||
/obj/structure/table/rack,
|
||||
/obj/item/shovel{
|
||||
@@ -32381,12 +32379,6 @@
|
||||
/obj/machinery/power/crystal_agitator,
|
||||
/turf/simulated/floor,
|
||||
/area/security/penal_colony)
|
||||
"oJR" = (
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/unsimulated/floor/asteroid/ash/rocky,
|
||||
/area/mine/unexplored)
|
||||
"oKh" = (
|
||||
/obj/effect/floor_decal/corner_wide/mauve{
|
||||
dir = 10
|
||||
@@ -35438,6 +35430,9 @@
|
||||
pixel_x = -28
|
||||
},
|
||||
/obj/machinery/light/small/emergency,
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/tiled/freezer,
|
||||
/area/maintenance/medsublevel_port)
|
||||
"vnr" = (
|
||||
@@ -52092,7 +52087,7 @@ nDL
|
||||
nDL
|
||||
tkm
|
||||
iOl
|
||||
oJR
|
||||
aba
|
||||
aba
|
||||
aba
|
||||
ale
|
||||
@@ -71122,7 +71117,7 @@ aIZ
|
||||
aNT
|
||||
vnf
|
||||
awP
|
||||
iwX
|
||||
aqA
|
||||
ebn
|
||||
ayi
|
||||
akG
|
||||
@@ -80887,7 +80882,7 @@ eEq
|
||||
baw
|
||||
cFw
|
||||
nzR
|
||||
oJR
|
||||
aba
|
||||
aba
|
||||
aba
|
||||
aaa
|
||||
|
||||
@@ -2242,9 +2242,6 @@
|
||||
"ael" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/generic,
|
||||
/obj/effect/landmark{
|
||||
name = "RevenantRift"
|
||||
},
|
||||
/turf/simulated/floor/tiled/old,
|
||||
/area/maintenance/vault)
|
||||
"aem" = (
|
||||
@@ -4736,6 +4733,9 @@
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/atmos_control)
|
||||
"ajd" = (
|
||||
@@ -60156,6 +60156,13 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/hallway/primary/aft)
|
||||
"dKN" = (
|
||||
/obj/random/junk,
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/research_port)
|
||||
"dKW" = (
|
||||
/obj/item/stack/rods,
|
||||
/turf/simulated/floor/airless,
|
||||
@@ -62319,11 +62326,22 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/substation/supply)
|
||||
"icb" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 4;
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 6
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/unsimulated/floor/asteroid/ash/rocky,
|
||||
/area/mine/unexplored)
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/security_starboard)
|
||||
"idi" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
@@ -64020,6 +64038,9 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/random/loot,
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/medbay)
|
||||
"mnI" = (
|
||||
@@ -86076,7 +86097,7 @@ aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
icb
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
@@ -87879,7 +87900,7 @@ beG
|
||||
bbs
|
||||
bcY
|
||||
bbs
|
||||
beC
|
||||
dKN
|
||||
bbs
|
||||
bcY
|
||||
bbs
|
||||
@@ -88589,7 +88610,7 @@ aaa
|
||||
aaa
|
||||
aab
|
||||
aab
|
||||
icb
|
||||
aab
|
||||
aox
|
||||
qba
|
||||
aij
|
||||
@@ -99111,7 +99132,7 @@ aab
|
||||
aab
|
||||
aad
|
||||
aaA
|
||||
aaI
|
||||
icb
|
||||
aaT
|
||||
aaT
|
||||
aaT
|
||||
@@ -99365,7 +99386,7 @@ aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
icb
|
||||
aab
|
||||
aad
|
||||
aaB
|
||||
aaJ
|
||||
@@ -113849,7 +113870,7 @@ vAC
|
||||
vAC
|
||||
mmQ
|
||||
blN
|
||||
icb
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
|
||||
@@ -8089,12 +8089,6 @@
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/interstitial_cargo)
|
||||
"zN" = (
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/unsimulated/floor/asteroid/ash/rocky,
|
||||
/area/mine/unexplored)
|
||||
"zQ" = (
|
||||
/obj/structure/flora/pottedplant/random,
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
@@ -10546,6 +10540,9 @@
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/firealarm/east,
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/maintenance/interstitial_main)
|
||||
"LD" = (
|
||||
@@ -12619,6 +12616,9 @@
|
||||
/obj/machinery/alarm{
|
||||
pixel_y = 28
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/security_interstitial)
|
||||
"WR" = (
|
||||
@@ -42791,7 +42791,7 @@ mo
|
||||
mo
|
||||
mo
|
||||
mo
|
||||
zN
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -50712,7 +50712,7 @@ if
|
||||
im
|
||||
wo
|
||||
Zt
|
||||
zN
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
aa
|
||||
|
||||
@@ -12223,6 +12223,9 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 10
|
||||
},
|
||||
/obj/effect/landmark{
|
||||
name = "Revenant"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/cargo/surface)
|
||||
"kZt" = (
|
||||
@@ -53955,7 +53958,7 @@ fdu
|
||||
fdu
|
||||
fdu
|
||||
kKF
|
||||
nmN
|
||||
kKF
|
||||
kKF
|
||||
kKF
|
||||
kKF
|
||||
|
||||
Reference in New Issue
Block a user