Skip to content

Commit

Permalink
Adds our last two Wonderlab Abnormalities (#2519)
Browse files Browse the repository at this point in the history
adds hookah and tangle

Update waw.dmi

Update caterpillar.dm

Update tangle.dm

Update teth.dm

Update tangle.dm

buffs caterpillar

Revert "Update caterpillar.dm"

This reverts commit 3b1b4b4.

Update caterpillar.dm

Bumps havana to alpeh

Update waw.dm

Update teth.dm

bug fixin

updates tangle to be seen

Update tangle.dm
  • Loading branch information
Kitsunemitsu authored Nov 19, 2024
1 parent b1a853c commit feec2bd
Show file tree
Hide file tree
Showing 25 changed files with 345 additions and 31 deletions.
Binary file modified ModularTegustation/Teguicons/32x32.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/32x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/64x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/64x96.dmi
Binary file not shown.
12 changes: 12 additions & 0 deletions ModularTegustation/ego_weapons/melee/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -586,3 +586,15 @@
attack_verb_continuous = list("smashes", "bludgeons", "crushes")
attack_verb_simple = list("smash", "bludgeon", "crush")
hitsound = 'sound/weapons/fixer/generic/club3.ogg'

/obj/item/ego_weapon/rapunzel
name = "rapunzel"
desc = "Scissors long since lost to time. Packs a punch while being unwieldy."
icon_state = "rapunzel"
force = 32
stuntime = 5 //Mucho damage, bit more stun
damtype = BLACK_DAMAGE
attack_verb_continuous = list("pokes", "jabs", "tears", "lacerates", "gores")
attack_verb_simple = list("poke", "jab", "tear", "lacerate", "gore")
hitsound = 'sound/weapons/fixer/generic/knife2.ogg'

22 changes: 22 additions & 0 deletions ModularTegustation/ego_weapons/ranged/aleph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -307,3 +307,25 @@

shotsleft = 6 //Based off a colt Single Action Navy
reloadtime = 0.8 SECONDS


/obj/item/ego_weapon/ranged/havana
name = "havana"
desc = "Within it's simple design lies a lot of struggle"
icon_state = "havana"
inhand_icon_state = "havana"
force = 20
damtype = PALE_DAMAGE
projectile_path = /obj/projectile/ego_bullet/ego_hookah
weapon_weight = WEAPON_HEAVY
spread = 20
fire_sound = 'sound/effects/smoke.ogg'
autofire = 0.04 SECONDS
fire_sound_volume = 5
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80,
PRUDENCE_ATTRIBUTE = 80,
TEMPERANCE_ATTRIBUTE = 80,
JUSTICE_ATTRIBUTE = 100
)
shotsleft = 200
8 changes: 8 additions & 0 deletions ModularTegustation/ego_weapons/ranged/ego_bullets/aleph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,11 @@
name = "arcadia"
damage = 140 // VERY high damage
damage_type = RED_DAMAGE

/obj/projectile/ego_bullet/ego_hookah
name = "havana"
icon_state = "smoke"
damage = 6
damage_type = PALE_DAMAGE
speed = 2
range = 6
8 changes: 0 additions & 8 deletions ModularTegustation/ego_weapons/ranged/ego_bullets/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -312,14 +312,6 @@
var/mob/living/L = target
L.apply_status_effect(/datum/status_effect/wrath_burning)

/obj/projectile/ego_bullet/ego_hookah
name = "lethargy"
icon_state = "smoke"
damage = 2
damage_type = PALE_DAMAGE
speed = 2
range = 6

/obj/projectile/ego_bullet/ego_innocence
name = "innocence"
icon_state = "energy"
Expand Down
19 changes: 0 additions & 19 deletions ModularTegustation/ego_weapons/ranged/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -593,25 +593,6 @@
FORTITUDE_ATTRIBUTE = 80
)

/obj/item/ego_weapon/ranged/hookah //TODO: Seems like lots of these are placeholder. remind me to finish this weapon if you are reading this.
name = "lethargy"
desc = "Courtesy of the 16th Ego rifleman's brigade."
icon_state = "loyalty"
inhand_icon_state = "loyalty"
force = 20
damtype = PALE_DAMAGE
projectile_path = /obj/projectile/ego_bullet/ego_hookah
weapon_weight = WEAPON_HEAVY
spread = 20
special = "This weapon fires 750 rounds per minute. \
This weapon has IFF capabilities.\
Use in hand to turn off IFF."
fire_sound = 'sound/effects/smoke.ogg'
autofire = 0.04 SECONDS
fire_sound_volume = 5
attribute_requirements = list(
JUSTICE_ATTRIBUTE = 80
)

/obj/item/ego_weapon/ranged/pistol/innocence
name = "childhood memories"
Expand Down
3 changes: 2 additions & 1 deletion ModularTegustation/lc13_structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
var/last_expand = 0 //last world.time this weed expanded
var/expand_cooldown = 1.5 SECONDS
var/can_expand = TRUE
var/bypass_density = FALSE
var/static/list/blacklisted_turfs

/obj/structure/spreading/Initialize()
Expand Down Expand Up @@ -42,7 +43,7 @@
for(var/turf/T in spread_turfs)
var/obj/machinery/M = locate(/obj/machinery) in T
if(M)
if(M.density)
if(M.density && !bypass_density)
continue
var/obj/structure/spreading/S = locate(/obj/structure/spreading) in T
if(S)
Expand Down
5 changes: 5 additions & 0 deletions code/datums/abnormality/_ego_datum/aleph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,3 +202,8 @@
/datum/ego_datum/weapon/darkcarnival
item_path = /obj/item/ego_weapon/wield/darkcarnival
cost = 100 //This weapon is normally a result of fusion but is treated as ALEPH for certain purposes

//Hookah Caterpillar - Havana
/datum/ego_datum/weapon/havana
item_path = /obj/item/ego_weapon/ranged/havana
cost = 100
6 changes: 3 additions & 3 deletions code/datums/abnormality/_ego_datum/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -228,13 +228,13 @@
cost = 20

// Tangle - Rapunzel
/* /datum/ego_datum/armor/rapunzel
/datum/ego_datum/armor/rapunzel
item_path = /obj/item/clothing/suit/armor/ego_gear/teth/rapunzel
cost = 20

/datum/ego_datum/weapon/rapunzel
item_path = /obj/item/ego_weapon/ranged/rapunzel
cost = 20 */
item_path = /obj/item/ego_weapon/rapunzel
cost = 20

// Someone's Portrait - Snapshot
/datum/ego_datum/armor/snapshot
Expand Down
6 changes: 6 additions & 0 deletions code/datums/abnormality/_ego_datum/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -500,3 +500,9 @@
/datum/ego_datum/armor/effervescent
item_path = /obj/item/clothing/suit/armor/ego_gear/waw/effervescent
cost = 50

// Hookah Caterpillar - Havana
//Weapon is aleph
/datum/ego_datum/armor/havana
item_path = /obj/item/clothing/suit/armor/ego_gear/waw/havana
cost = 50
6 changes: 6 additions & 0 deletions code/modules/clothing/suits/ego_gear/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -256,3 +256,9 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
desc = "Spare a thought for the poor employees at the branches that fail, trapped and abandoned - buried alive."
icon_state = "denial"
armor = list(RED_DAMAGE = 20, WHITE_DAMAGE = -20, BLACK_DAMAGE = 0, PALE_DAMAGE = 20)

/obj/item/clothing/suit/armor/ego_gear/teth/rapunzel
name = "rapunzel"
desc = "When you have no means of escape, you must forge your own path."
icon_state = "tangle"
armor = list(RED_DAMAGE = 0, WHITE_DAMAGE = 20, BLACK_DAMAGE = 0, PALE_DAMAGE = 0)
9 changes: 9 additions & 0 deletions code/modules/clothing/suits/ego_gear/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -490,3 +490,12 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
FORTITUDE_ATTRIBUTE = 60,
PRUDENCE_ATTRIBUTE = 60,
)

/obj/item/clothing/suit/armor/ego_gear/waw/havana
name = "havana"
desc = "Sit down, relax and take a deep breath."
icon_state = "havana"
armor = list(RED_DAMAGE = 30, WHITE_DAMAGE = 20, BLACK_DAMAGE = 30, PALE_DAMAGE = 60) // 140
attribute_requirements = list(
JUSTICE_ATTRIBUTE = 80
)
128 changes: 128 additions & 0 deletions code/modules/mob/living/simple_animal/abnormality/teth/tangle.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
/mob/living/simple_animal/hostile/abnormality/tangle
name = "Tangle"
desc = "What seems to be a severed head laying in a tangle of hair."
icon = 'ModularTegustation/Teguicons/32x32.dmi'
icon_state = "tangle"
icon_living = "tangle"
portrait = "tangle"
maxHealth = 1600
health = 1600
damage_coeff = list(BRUTE = 1, RED_DAMAGE = 1, WHITE_DAMAGE = 0.5, BLACK_DAMAGE = 1, PALE_DAMAGE = 2)
melee_damage_lower = 0 //Doesn't attack
melee_damage_upper = 0
rapid_melee = 2
melee_damage_type = WHITE_DAMAGE
stat_attack = HARD_CRIT
faction = list("hostile")
can_breach = TRUE
threat_level = TETH_LEVEL
start_qliphoth = 2
work_chances = list(
ABNORMALITY_WORK_INSTINCT = 80,
ABNORMALITY_WORK_INSIGHT = list(50, 50, 40, 40, 40),
ABNORMALITY_WORK_ATTACHMENT = list(50, 50, 40, 40, 40),
ABNORMALITY_WORK_REPRESSION = list(50, 50, 40, 40, 40),
)
work_damage_amount = 5
work_damage_type = WHITE_DAMAGE
ego_list = list(
/datum/ego_datum/weapon/rapunzel,
/datum/ego_datum/armor/rapunzel,
)
// gift_type = /datum/ego_gifts/rapunzel
abnormality_origin = ABNORMALITY_ORIGIN_WONDERLAB

var/chosen
var/instinct_count
var/list/hair_list = list()

/mob/living/simple_animal/hostile/abnormality/tangle/Move()
return FALSE

/mob/living/simple_animal/hostile/abnormality/tangle/CanAttack(atom/the_target)
return FALSE

//Grab a list of all agents and picks one
/mob/living/simple_animal/hostile/abnormality/tangle/Initialize()
. = ..()
var/list/potentialmarked = list()
for(var/mob/living/carbon/human/L in GLOB.player_list)
if(L.stat >= HARD_CRIT || L.sanity_lost || z != L.z) // Dead or in hard crit, insane, or on a different Z level.
continue
if(HAS_TRAIT(usr, TRAIT_WORK_FORBIDDEN)) //Don't get non agents
continue
potentialmarked += L

if(length(potentialmarked) <= 1) //If there's only one or none of you, then don't do it. I'm not that evil.
return
chosen = pick(potentialmarked)



/mob/living/simple_animal/hostile/abnormality/tangle/PostWorkEffect(mob/living/carbon/human/user, work_type, pe, work_time)
// If your'e the chosen, lower
if(user == chosen)
datum_reference.qliphoth_change(-1)
icon_state = "tangleawake"
return

if(work_type == ABNORMALITY_WORK_INSTINCT)
instinct_count+=1
if((instinct_count==3) || (instinct_count == 6))
datum_reference.qliphoth_change(-1)
icon_state = "tangleawake"

/mob/living/simple_animal/hostile/abnormality/tangle/BreachEffect()
..()
icon_state = "tangle"
icon = 'ModularTegustation/Teguicons/32x64.dmi'
new /obj/structure/spreading/tangle_hair (src)


/mob/living/simple_animal/hostile/abnormality/tangle/death()
for(var/V in hair_list)
qdel(V)
hair_list-=V
..()


// Hair turf
/obj/structure/spreading/tangle_hair
gender = PLURAL
name = "blonde hair"
desc = "a patch of blonde hair."
icon = 'icons/effects/effects.dmi'
icon_state = "tanglehair"
anchored = TRUE
density = FALSE
layer = TURF_LAYER
plane = FLOOR_PLANE
max_integrity = 20
base_icon_state = "tanglehair"
var/mob/living/simple_animal/hostile/abnormality/tangle/connected_abno

/obj/structure/spreading/tangle_hair/Initialize()
. = ..()

//Stolen from Snow White's. Thanks Para!
if(!connected_abno)
connected_abno = locate(/mob/living/simple_animal/hostile/abnormality/tangle) in GLOB.abnormality_mob_list
if(connected_abno)
connected_abno.hair_list += src
expand()


/obj/structure/spreading/tangle_hair/expand()
addtimer(CALLBACK(src, PROC_REF(expand)), 5 SECONDS)
// if(connected_abno.hair_list.len>=150)
// return
..()

/obj/structure/spreading/tangle_hair/Crossed(atom/movable/AM)
. = ..()
if(ishuman(AM))
var/mob/living/carbon/human/H = AM
H.apply_damage(1, WHITE_DAMAGE, null, H.run_armor_check(null, RED_DAMAGE), spread_damage = TRUE)
if(prob(10))
H.Immobilize(5)
to_chat(H, span_warning("You get caught in the hair!"))
Loading

0 comments on commit feec2bd

Please sign in to comment.