Skip to content

Commit

Permalink
adds weaving lindworm
Browse files Browse the repository at this point in the history
updates lindworm sprites

Update lindworm.dm

Adds Weaving lindworm
  • Loading branch information
Kitsunemitsu committed Dec 6, 2024
1 parent 8cc7d9a commit 36634fa
Show file tree
Hide file tree
Showing 10 changed files with 250 additions and 1 deletion.
Binary file modified ModularTegustation/Teguicons/32x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/64x64.dmi
Binary file not shown.
43 changes: 43 additions & 0 deletions ModularTegustation/ego_weapons/melee/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2319,3 +2319,46 @@
qdel(src)
return TRUE


/obj/item/ego_weapon/vulnerability
name = "Vulnerability"
desc = "The snake leather used in this whip is hardened by the sun"
icon_state = "lindworm"
special = "This weapon lowers red and white damage resistance on hit."
force = 25
reach = 4 //Has 4 Square Reach.
attack_speed = 1.7 //but is slow and stuns you
stuntime = 5 //Longer reach, gives you a short stun.
damtype = RED_DAMAGE
attack_verb_continuous = list("whips", "lashes", "tears")
attack_verb_simple = list("whip", "lash", "tear")
hitsound = 'sound/weapons/whip.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 40
)

/obj/item/ego_weapon/vulnerability/attack(mob/living/target, mob/living/user)
..()
if(!CanUseEgo(user))
return
var/userjust = (get_modified_attribute_level(user, JUSTICE_ATTRIBUTE))
var/justicemod = 1 + userjust/100
var/damage = force * justicemod * force_multiplier
target.apply_damage(damage, WHITE_DAMAGE, null, target.run_armor_check(null, WHITE_DAMAGE), spread_damage = TRUE)

var/mob/living/M = target

//Double rend here
if(!ishuman(M) && !M.has_status_effect(/datum/status_effect/rend_white))
new /obj/effect/temp_visual/cult/sparks(get_turf(M))
M.apply_status_effect(/datum/status_effect/rend_white)

if(!ishuman(M) && !M.has_status_effect(/datum/status_effect/rend_red))
new /obj/effect/temp_visual/cult/sparks(get_turf(M))
M.apply_status_effect(/datum/status_effect/rend_red)


/obj/item/ego_weapon/vulnerability/EgoAttackInfo(mob/user)
if(force_multiplier != 1)
return span_notice("It deals [round(force * force_multiplier)] of both red and white damage. (+ [(force_multiplier - 1) * 100]%)")
return span_notice("It deals [force] of both red and white damage.")
10 changes: 10 additions & 0 deletions code/datums/abnormality/_ego_datum/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -506,3 +506,13 @@
/datum/ego_datum/armor/havana
item_path = /obj/item/clothing/suit/armor/ego_gear/waw/havana
cost = 50

// Lindworm - Vulnerability
/datum/ego_datum/weapon/vulnerability
item_path = /obj/item/ego_weapon/vulnerability
cost = 50

/datum/ego_datum/armor/vulnerability
item_path = /obj/item/clothing/suit/armor/ego_gear/waw/vulnerability
cost = 50

11 changes: 10 additions & 1 deletion code/modules/clothing/suits/ego_gear/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -497,5 +497,14 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
icon_state = "havana"
armor = list(RED_DAMAGE = 30, WHITE_DAMAGE = 20, BLACK_DAMAGE = 30, PALE_DAMAGE = 60) // 140
attribute_requirements = list(
JUSTICE_ATTRIBUTE = 80
JUSTICE_ATTRIBUTE = 80)

/obj/item/clothing/suit/armor/ego_gear/waw/vulnerability
name = "vulnerability"
desc = "Only be becoming weaker can you become stronger."
icon_state = "lindworm"
armor = list(RED_DAMAGE = 50, WHITE_DAMAGE = 20, BLACK_DAMAGE = 20, PALE_DAMAGE = 20) // 140
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 60,
PRUDENCE_ATTRIBUTE = 60,
)
186 changes: 186 additions & 0 deletions code/modules/mob/living/simple_animal/abnormality/waw/lindworm.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
/mob/living/simple_animal/hostile/abnormality/lindworm
name = "Weaving Lindworm"
desc = "An abnormality taking form of a giant serpent with scales flaking off it."
icon = 'ModularTegustation/Teguicons/64x64.dmi'
icon_state = "lindworm"
icon_living = "lindworm"
icon_dead = "lindworm_dead"
portrait = "lindworm"
del_on_death = FALSE
maxHealth = 700
health = 700
rapid_melee = 1
move_to_delay = 3
damage_coeff = list(RED_DAMAGE = 1, WHITE_DAMAGE = 1, BLACK_DAMAGE = 1, PALE_DAMAGE = 1)
melee_damage_lower = 60
melee_damage_upper = 70
melee_damage_type = RED_DAMAGE
stat_attack = DEAD
attack_sound = 'sound/abnormalities/mountain/bite.ogg'
attack_verb_continuous = "gores"
attack_verb_simple = "gore"
can_breach = TRUE
threat_level = WAW_LEVEL
start_qliphoth = 2
work_chances = list(
ABNORMALITY_WORK_INSTINCT = 60,
ABNORMALITY_WORK_INSIGHT = 60,
ABNORMALITY_WORK_ATTACHMENT = 60,
ABNORMALITY_WORK_REPRESSION = 60,
)
work_damage_amount = 10
work_damage_type = list(WHITE_DAMAGE, RED_DAMAGE)

ego_list = list(
/datum/ego_datum/weapon/vulnerability,
/datum/ego_datum/weapon/vulnerability,
)
// gift_type = /datum/ego_gifts/harvest
abnormality_origin = ABNORMALITY_ORIGIN_ORIGINAL

color = "#234e99"
var/layers_left = 5
var/mob/living/carbon/human/red_weak
var/mob/living/carbon/human/white_weak
var/mob/living/carbon/human/black_weak
var/mob/living/carbon/human/pale_weak

/mob/living/simple_animal/hostile/abnormality/lindworm/death(gibbed)
for(var/turf/open/T in view(5, src))
if(locate(/obj/structure/turf_confetti) in T)
for(var/obj/structure/turf_confetti/floor_fire in T)
qdel(floor_fire)
new /obj/structure/turf_confetti(T)

playsound(get_turf(src), 'sound/abnormalities/bigbird/bite.ogg', 50, 1, 2)
new /obj/effect/gibspawner/generic/silent(get_turf(src))


if(layers_left)
layers_left-=1
HandleLayers()
revive(full_heal = TRUE, admin_revive = TRUE)
return

CleanupDefense()
density = FALSE
animate(src, alpha = 0, time = 10 SECONDS)
QDEL_IN(src, 10 SECONDS)
..()

/mob/living/simple_animal/hostile/abnormality/lindworm/AttackingTarget()
..()
for(var/turf/open/T in view(1, target))
if(locate(/obj/structure/turf_confetti) in T)
for(var/obj/structure/turf_confetti/floor_fire in T)
qdel(floor_fire)
new /obj/structure/turf_confetti(T)

if(ishuman(target))
var/mob/living/H = target
if(H.health < 0)
layers_left+=1
HandleLayers()
H.gib()

/mob/living/simple_animal/hostile/abnormality/lindworm/proc/HandleLayers()
switch(layers_left)
if(0)
color = "#FFFFFF"
if(1)
color = "#a1b9e3"
if(2)
color = "#6e90cc"
if(3)
color = "#4e73b5"
else
color = "#234e99"

//Work shit

/mob/living/simple_animal/hostile/abnormality/lindworm/PostWorkEffect(mob/living/carbon/human/user, work_type, pe, work_time)
switch(work_type)
if(ABNORMALITY_WORK_INSTINCT)
if(!red_weak) //Decrease red mod, store who's being worked on and lower a layer.
red_weak = user
user.physiology.red_mod *= 1.3
layers_left-=1
to_chat(user, span_userdanger("You feel your armor shed; and a layer falls away from the lindworm."))
playsound(get_turf(src), 'sound/abnormalities/bigbird/bite.ogg', 50, 1, 2)
new /obj/effect/gibspawner/generic/silent(get_turf(src))
HandleLayers()

if(ABNORMALITY_WORK_INSIGHT)
if(!white_weak)
white_weak = user
user.physiology.white_mod *= 1.3
layers_left-=1
to_chat(user, span_userdanger("You feel your armor shed; and a layer falls away from the lindworm."))
playsound(get_turf(src), 'sound/abnormalities/bigbird/bite.ogg', 50, 1, 2)
new /obj/effect/gibspawner/generic/silent(get_turf(src))
HandleLayers()

if(ABNORMALITY_WORK_ATTACHMENT)
if(!black_weak)
black_weak = user
user.physiology.black_mod *= 1.3
layers_left-=1
to_chat(user, span_userdanger("You feel your armor shed; and a layer falls away from the lindworm."))
playsound(get_turf(src), 'sound/abnormalities/bigbird/bite.ogg', 50, 1, 2)
new /obj/effect/gibspawner/generic/silent(get_turf(src))
HandleLayers()

if(ABNORMALITY_WORK_REPRESSION)
if(!pale_weak)
pale_weak = user
user.physiology.pale_mod *= 1.3
layers_left-=1
to_chat(user, span_userdanger("You feel your armor shed; and a layer falls away from the lindworm."))
playsound(get_turf(src), 'sound/abnormalities/bigbird/bite.ogg', 50, 1, 2)
new /obj/effect/gibspawner/generic/silent(get_turf(src))
HandleLayers()



/mob/living/simple_animal/hostile/abnormality/lindworm/proc/CleanupDefense()
if(red_weak)
red_weak.physiology.red_mod /= 1.3
to_chat(red_weak, span_notice("You feel your natural body hardening again."))

if(white_weak)
white_weak.physiology.white_mod /= 1.3
to_chat(white_weak, span_notice("You feel your natural body hardening again."))

if(black_weak)
black_weak.physiology.black_mod /= 1.3
to_chat(black_weak, span_notice("You feel your natural body hardening again."))

if(pale_weak)
pale_weak.physiology.pale_mod /= 1.3
to_chat(pale_weak, span_notice("You feel your natural body hardening again."))


// Turf effect
/obj/structure/turf_confetti
gender = PLURAL
name = "confetti"
desc = "a burning pyre."
icon = 'icons/effects/effects.dmi'
icon_state = "dancing_lights"
anchored = TRUE
density = FALSE
layer = TURF_LAYER
plane = FLOOR_PLANE
base_icon_state = "dancing_lights"

/obj/structure/turf_confetti/Initialize()
. = ..()
QDEL_IN(src, 15 SECONDS)

//Red and not burn, burn is a special damage type.
/obj/structure/turf_confetti/Crossed(atom/movable/AM)
. = ..()
if(ishuman(AM))
var/mob/living/carbon/human/H = AM
H.apply_damage(15, RED_DAMAGE, null, H.run_armor_check(null, RED_DAMAGE), spread_damage = TRUE)
H.apply_damage(15, WHITE_DAMAGE, null, H.run_armor_check(null, WHITE_DAMAGE), spread_damage = TRUE)
Binary file modified icons/mob/clothing/ego_gear/abnormality/waw.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/ego_gear/abnormality/waw.dmi
Binary file not shown.
Binary file modified icons/obj/ego_weapons.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions lobotomy-corp13.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2922,6 +2922,7 @@
#include "code\modules\mob\living\simple_animal\abnormality\waw\greed_king.dm"
#include "code\modules\mob\living\simple_animal\abnormality\waw\hatred_queen.dm"
#include "code\modules\mob\living\simple_animal\abnormality\waw\judgement_bird.dm"
#include "code\modules\mob\living\simple_animal\abnormality\waw\lindworm.dm"
#include "code\modules\mob\living\simple_animal\abnormality\waw\little_prince.dm"
#include "code\modules\mob\living\simple_animal\abnormality\waw\luna.dm"
#include "code\modules\mob\living\simple_animal\abnormality\waw\my_form_empties.dm"
Expand Down

0 comments on commit 36634fa

Please sign in to comment.