Skip to content

Commit

Permalink
Endermage Rcorp Updates: Abnormality Nerfs/R-Corp Buffs (#2556)
Browse files Browse the repository at this point in the history
* Warden Nerf/RCorp Dagger Buff

* King of Greed nerf

* Info for KoG

* Eris Nerf

* censored nerf

* Abno Overwrites

* R-Corp Grenades

* more grenades

* Mini Censored Nerf

* Recommended Changes

* Reducing the nerf to censored's ranged attack.

* Melting Love Nerf

---------

Co-authored-by: Anton Zenkov <[email protected]>
  • Loading branch information
EnderMage99 and azenkov authored Nov 19, 2024
1 parent db39064 commit 2e2a285
Show file tree
Hide file tree
Showing 12 changed files with 315 additions and 22 deletions.
20 changes: 17 additions & 3 deletions ModularTegustation/ego_weapons/melee/non_abnormality/rcorp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,27 @@
TEMPERANCE_ATTRIBUTE = 55,
JUSTICE_ATTRIBUTE = 55,
)
var/rcorp_buff = 0

/obj/item/ego_weapon/city/rabbit_blade/Initialize()
if(SSmaptype.maptype == "rcorp")
rcorp_buff = 20
force += rcorp_buff
return ..()

/obj/item/ego_weapon/city/rabbit_blade/attack_self(mob/living/user)
switch(damtype)
if(RED_DAMAGE)
damtype = WHITE_DAMAGE
if(WHITE_DAMAGE)
damtype = BLACK_DAMAGE
force = 30
force = rcorp_buff + 30
if(BLACK_DAMAGE)
damtype = PALE_DAMAGE
force = 25
force = rcorp_buff + 25
if(PALE_DAMAGE)
damtype = RED_DAMAGE
force = 35
force = rcorp_buff + 35
to_chat(user, span_notice("\The [src] will now deal [damtype] damage."))
playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE)

Expand Down Expand Up @@ -228,6 +235,13 @@
JUSTICE_ATTRIBUTE = 55
)
var/teleporting
var/rcorp_buff = 0

/obj/item/ego_weapon/city/rabbit_rush/Initialize()
if(SSmaptype.maptype == "rcorp")
rcorp_buff = 20
force += rcorp_buff
return ..()

/obj/item/ego_weapon/city/rabbit_rush/attack_self(mob/user)
if(!CanUseEgo(user))
Expand Down
22 changes: 22 additions & 0 deletions ModularTegustation/tegu_items/rcorp/!abno_overwrites.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,25 @@
if(SSmaptype.maptype == "rcorp")
bullet_damage = 200
return ..()

//Warden deals even less damage then more bodies they eat, and they take more damage from all attacks.
//Warden currently slowballs far to quickly, so this nerf should give R-Corp a better chance at fighting back against them.
/mob/living/simple_animal/hostile/abnormality/warden/Initialize()
if(IsCombatMap())
damage_down = 10
return ..()

//Censored no longer applies his statues effect passivly, Now he needs to hit his ranged attack to apply it.
//For that reason, I am reducing the cooldown for that ranged attack and lowering it's damage by around 50%, so they can at least try to apply it more often.
/mob/living/simple_animal/hostile/abnormality/censored/Initialize()
if(SSmaptype.maptype == "rcorp")
ability_damage = 120
ability_cooldown_time = 6 SECONDS
return ..()

//Nothing There passive healing will only start when they are under 50% health. But, I am increasing that healing by 50%.
/mob/living/simple_animal/hostile/abnormality/nothing_there/Initialize()
if(SSmaptype.maptype == "rcorp")
heal_percent_per_second = 0.01275
r_corp_regen_start = 0.5
return ..()
71 changes: 67 additions & 4 deletions _maps/map_files/Event/rcorp.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,31 @@
/obj/machinery/telecomms/server/presets/engineering,
/turf/open/floor/circuit/telecomms/mainframe,
/area/city/outskirts)
"cj" = (
/obj/structure/closet/crate{
name = "rcorp explosives";
color = "#d67200"
},
/obj/item/grenade/r_corp/pale,
/obj/item/grenade/r_corp/pale,
/obj/item/grenade/r_corp/pale,
/obj/item/grenade/r_corp/pale,
/obj/item/grenade/r_corp/pale,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/effect/turf_decal/box/red,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/black,
/obj/item/grenade/r_corp/pale,
/obj/item/grenade/r_corp/pale,
/turf/open/floor/pod/dark,
/area/city/outskirts)
"co" = (
/obj/effect/landmark/abno_objectivespawn,
/turf/open/floor/plating/asteroid,
Expand Down Expand Up @@ -273,6 +298,38 @@
/obj/item/clothing/suit/armor/ego_gear/rcorp_officer,
/turf/open/floor/pod,
/area/city/outskirts)
"nV" = (
/obj/structure/closet/crate{
name = "rcorp explosives";
color = "#d67200"
},
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/effect/turf_decal/box/red,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp/white,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/obj/item/grenade/r_corp,
/turf/open/floor/pod/dark,
/area/city/outskirts)
"oi" = (
/turf/closed/indestructible/rock,
/area/city/outskirts)
Expand Down Expand Up @@ -756,6 +813,12 @@
/obj/machinery/telecomms/server/presets/common,
/turf/open/floor/circuit/telecomms/mainframe,
/area/city/outskirts)
"LX" = (
/obj/effect/turf_decal/caution/red{
dir = 8
},
/turf/open/floor/pod/light,
/area/city/outskirts)
"Mk" = (
/obj/effect/turf_decal/sand,
/obj/machinery/sleeper/syndie,
Expand Down Expand Up @@ -8764,9 +8827,9 @@ aC
aC
aC
UE
LX
Hk
Hk
Hk
LX
pi
aC
QY
Expand Down Expand Up @@ -8966,9 +9029,9 @@ fC
RY
aC
UE
nV
Qd
Qd
Qd
cj
oj
aC
aC
Expand Down
34 changes: 34 additions & 0 deletions code/game/objects/items/grenades/r_corp.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/obj/item/grenade/r_corp
name = "r-corp red grenade"
desc = "An anti-abnormality grenade, this weapon excels at damaging abnormality using the tech from L-Corp. It deals 90% less damage to humans."
icon_state = "r_corp"
var/explosion_damage_type = RED_DAMAGE
var/explosion_damage = 300
var/explosion_range = 2

/obj/item/grenade/r_corp/detonate(mob/living/lanced_by)
. = ..()
update_mob()
new /obj/effect/temp_visual/explosion(get_turf(src))
playsound(loc, 'sound/effects/ordeals/steel/gcorp_boom.ogg', 75, TRUE)
for(var/mob/living/simple_animal/H in view(explosion_range, src))
H.apply_damage(explosion_damage, explosion_damage_type, null, H.run_armor_check(null, RED_DAMAGE))
for(var/mob/living/carbon/C in view(explosion_range, src))
C.apply_damage(explosion_damage * 0.1, explosion_damage_type, null, C.run_armor_check(null, RED_DAMAGE))
qdel(src)

/obj/item/grenade/r_corp/white
name = "r-corp white grenade"
icon_state = "r_corp_white"
explosion_damage_type = WHITE_DAMAGE

/obj/item/grenade/r_corp/black
name = "r-corp black grenade"
icon_state = "r_corp_black"
explosion_damage_type = BLACK_DAMAGE

/obj/item/grenade/r_corp/pale
name = "r-corp pale grenade"
icon_state = "r_corp_pale"
explosion_damage_type = PALE_DAMAGE
explosion_damage = 250
Original file line number Diff line number Diff line change
Expand Up @@ -58,17 +58,33 @@
var/ability_cooldown
var/ability_cooldown_time = 10 SECONDS

/mob/living/simple_animal/hostile/abnormality/censored/Login()
. = ..()
to_chat(src, "<h1>You are CENSORED, A Tank Role Abnormality.</h1><br>\
<b>|'CENSORED, CENSORED'|: When you click on a tile outside your melee range, you will trigger your ranged attack.<br>\
When you trigger your ranged attack, there will be a short delay before you will send out a 'CENSORED' towards your target tile.<br>\
Anyone who is hit by your 'CENSORED' will take BLACK damage and will gain the statues effect 'Overwhelming Fear'<br>\
If you don't want to trigger you ranged attack when clicking on a tile, you can hold SHIFT while clicking on a tile to disable it.<br>\
<br>\
|Overwhelming Fear|: Humans with this statues effect will have their sanity quickly reduce to 30%, And this statues effect lasts for 20 seconds.<br>\
<br>\
|'...CENSORED?'|: When you attack a dead human, you will convert them into a mini 'CENSORED'.<br>\
Each time you convert a human into a mini 'CENSORED' you heal 10% of your max HP.<br>\
However, Once a mini 'CENSORED' is killed, all humans around them heal 40% of their SP.</b>")


/mob/living/simple_animal/hostile/abnormality/censored/Life()
. = ..()
if(!.)
return
// Apply and refresh status effect to all humans nearby
for(var/mob/living/carbon/human/H in view(7, src))
if(H.stat == DEAD)
continue
if(faction_check_mob(H))
continue
H.apply_status_effect(STATUS_EFFECT_OVERWHELMING_FEAR)
if(SSmaptype.maptype != "rcorp")
for(var/mob/living/carbon/human/H in view(7, src))
if(H.stat == DEAD)
continue
if(faction_check_mob(H))
continue
H.apply_status_effect(STATUS_EFFECT_OVERWHELMING_FEAR)

/mob/living/simple_animal/hostile/abnormality/censored/FearEffectText(mob/affected_mob, level = 0)
level = num2text(clamp(level, 3, 5))
Expand Down Expand Up @@ -183,6 +199,7 @@
for(var/turf/TT in turf_list)
for(var/mob/living/L in HurtInTurf(TT, list(), ability_damage, BLACK_DAMAGE, null, TRUE, FALSE, TRUE, hurt_structure = TRUE))
new /obj/effect/temp_visual/dir_setting/bloodsplatter(get_turf(L), pick(GLOB.alldirs))
L.apply_status_effect(STATUS_EFFECT_OVERWHELMING_FEAR)
can_act = TRUE

/* Work */
Expand Down Expand Up @@ -259,6 +276,7 @@
del_on_death = TRUE
density = FALSE
var/list/breach_affected = list()
var/recoved_sanity = 0.2

/mob/living/simple_animal/hostile/mini_censored/Initialize()
. = ..()
Expand Down Expand Up @@ -298,6 +316,18 @@
to_chat(H, span_warning("Damn, it's scary."))
return

/mob/living/simple_animal/hostile/mini_censored/death(gibbed)
if(SSmaptype.maptype == "rcorp")
for(var/mob/living/carbon/human/H in view(5, src))
if(H.stat == DEAD)
continue
if(faction_check_mob(H))
continue
H.adjustSanityLoss(-(H.getMaxSanity() * recoved_sanity))
playsound(H, 'sound/abnormalities/voiddream/skill.ogg', 40, TRUE, 2)
to_chat(H, span_nicegreen("Good... It is now dead."))
return ..()

// Status effect applied by CENSORED
/datum/status_effect/overwhelming_fear
id = "overwhelming_fear"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,23 @@
/// Amount of BLACK damage done to all enemies around main target on melee attack. Also includes original target
var/radius_damage = 30

/mob/living/simple_animal/hostile/abnormality/melting_love/Login()
. = ..()
to_chat(src, "<h1>You are Melting Love, A Tank Role Abnormality.</h1><br>\
<b>|Absorbing Slime|: RED damage heals you instead of damaging you, The same thing applies to your slime pawns.<br>\
<br>\
|Sticky Slime|: Some of your abilities will inflict 'SLIMED' on the target.\
Targets with 'SLIMED' will take BLACK damage over time and will become slowed down for it's duration.<br>\
<br>\
|Melting Slime|: As you move around, you will leave behind 'Melting Slime' on the turfs you cross. If any non-slime crosses this 'Melting Slime', They will be inflicted with 'SLIMED'.<br>\
<br>\
|Spreading Love...|: When you attack a dead body, you will convert it into a 'Slime Pawn.' Slime pawns exist for a short amount of time and detonate upon their death.\
When they detonate, they will deal BLACK damage to nearby humans and spread 'Melting Slime' around them.\
Also, If you attack your own 'Slime Pawn', You will devor them and heal 20% of your HP.<br>\
<br>\
|Stay Together...|: When you click on a tile outside your melee range, You will fire a slime projectile towards that tile. The projectile will inflict the target with 'SLIMED' and deal BLACK damage.\
If the projectile hits a dead body, it will convert it into a slime pawn.</b>")

/mob/living/simple_animal/hostile/abnormality/melting_love/death(gibbed)
density = FALSE
animate(src, alpha = 0, time = (5 SECONDS))
Expand Down Expand Up @@ -262,6 +279,10 @@
del_on_death = TRUE
var/spawn_sound = 'sound/abnormalities/meltinglove/pawn_convert.ogg'
var/statuschance = 25
var/death_damage = 20
var/death_slime_range = 1
var/decay_damage = 20
var/decay_timer = 4

/mob/living/simple_animal/hostile/slime/Initialize()
. = ..()
Expand All @@ -270,10 +291,22 @@
transform *= 0.1
alpha = 25
animate(src, alpha = 255, transform = init_transform, time = 5)
if(SSmaptype.maptype == "rcorp")
addtimer(CALLBACK(src, PROC_REF(decay)), decay_timer SECONDS, TIMER_STOPPABLE)

/mob/living/simple_animal/hostile/slime/proc/decay()
to_chat(src, span_userdanger("You feel yourself falling apart..."))
src.deal_damage(decay_damage, BLACK_DAMAGE)
addtimer(CALLBACK(src, PROC_REF(decay)), decay_timer SECONDS, TIMER_STOPPABLE)

/mob/living/simple_animal/hostile/slime/death()
for(var/atom/movable/AM in src)
AM.forceMove(get_turf(src))
if(SSmaptype.maptype == "rcorp")
for(var/turf/open/R in range(death_slime_range, src))
new /obj/effect/decal/cleanable/melty_slime(R)
for(var/mob/living/L in view(death_slime_range, src))
L.apply_damage(death_damage, BLACK_DAMAGE, null, L.run_armor_check(null, BLACK_DAMAGE))
..()

/mob/living/simple_animal/hostile/slime/CanAttack(atom/the_target)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@

var/last_heal_time = 0
var/heal_percent_per_second = 0.0085
var/regen_on = TRUE
var/r_corp_regen_start = 1

var/datum/looping_sound/nothingthere_ambience/soundloop
var/datum/looping_sound/nothingthere_heartbeat/heartbeat
Expand Down Expand Up @@ -227,10 +229,15 @@
GiveTarget(speaker)
say(line)
if((last_heal_time + 1 SECONDS) < world.time) // One Second between heals guaranteed
var/heal_amount = ((world.time - last_heal_time)/10)*heal_percent_per_second*maxHealth
if(health <= maxHealth*0.3)
heal_amount *= 2
adjustBruteLoss(-heal_amount)
if(SSmaptype.maptype == "rcorp")
regen_on = TRUE
if(health > maxHealth * r_corp_regen_start)
regen_on = FALSE
if(regen_on == TRUE)
var/heal_amount = ((world.time - last_heal_time)/10)*heal_percent_per_second*maxHealth
if(health <= maxHealth*0.3)
heal_amount *= 2
adjustBruteLoss(-heal_amount)
last_heal_time = world.time
if(next_transform && (world.time > next_transform))
next_stage()
Expand Down
Loading

0 comments on commit 2e2a285

Please sign in to comment.