Skip to content

Commit

Permalink
ported fixes
Browse files Browse the repository at this point in the history
stuff

Additional fixes
  • Loading branch information
vampirebat74 committed Feb 16, 2025
1 parent 1e17fc6 commit 9e44a10
Show file tree
Hide file tree
Showing 15 changed files with 105 additions and 17 deletions.
Binary file modified ModularTegustation/Teguicons/48x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/64x64.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/abno_cores/zayin.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@

var/climbing = FALSE

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

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

//Performing instinct work at >4 fortitude starts a special work
/mob/living/simple_animal/hostile/abnormality/beanstalk/AttemptWork(mob/living/carbon/human/user, work_type)
if((get_attribute_level(user, FORTITUDE_ATTRIBUTE) >= 80) && (work_type == ABNORMALITY_WORK_INSTINCT))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@
portrait = "blood_bath"
maxHealth = 1000
health = 1000
rapid_melee = 1
melee_queue_distance = 2
move_to_delay = 3
attack_sound = 'sound/abnormalities/ichthys/slap.ogg'
attack_verb_continuous = "mauls"
attack_verb_simple = "maul"
melee_damage_lower = 6
melee_damage_upper = 12
melee_damage_lower = 10
melee_damage_upper = 18
melee_damage_type = WHITE_DAMAGE
damage_coeff = list(RED_DAMAGE = 1.6, WHITE_DAMAGE = 1, BLACK_DAMAGE = 1.4, PALE_DAMAGE = 1.5)
ranged = TRUE
Expand Down Expand Up @@ -108,7 +110,7 @@
new /obj/effect/temp_visual/cult/sparks(L)
playsound(get_turf(src), 'sound/abnormalities/ichthys/jump.ogg', 100, FALSE, 6)
icon_state = "bloodbath_slamprepare"
SLEEP_CHECK_DEATH(12)
SLEEP_CHECK_DEATH(20)
for(var/turf/T in view(3, src))
var/obj/effect/temp_visual/small_smoke/halfsecond/FX = new(T)
FX.color = "#b52e19"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
. = ..()
if(!breaching)
return
if(summon_count > 15)
if(summon_count > 10)
qdel(src)
return
if((meltdown_cooldown < world.time) && !(status_flags & GODMODE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@

var/number_of_marks = 5

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

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

/mob/living/simple_animal/hostile/abnormality/cherry_blossoms/PostWorkEffect(mob/living/carbon/human/user, work_type, pe, work_time)
if(user.sanity_lost)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,14 @@

/mob/living/simple_animal/hostile/abnormality/meat_lantern/BreachEffect(mob/living/carbon/human/user, breach_type)
if(breach_type == BREACH_MINING)//as funny as it sounds, this abnormality would be unreachable
qdel(src)
return
sleep(10 SECONDS)
. = ..()
update_icon()
density = FALSE
med_hud_set_health() //hides medhud
med_hud_set_status()
forceMove(pick(GLOB.xeno_spawn))
if(breach_type != BREACH_MINING)
forceMove(pick(GLOB.xeno_spawn))
chop_cooldown = world.time + chop_cooldown_time
proximity_monitor = new(src, detect_range)
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@

/mob/living/simple_animal/hostile/abnormality/shy_look/Life()
. = ..()
if(!(status_flags & GODMODE))//Breaching
return
if(mood_cooldown < world.time && !datum_reference.working)
ChangeMood()

Expand Down Expand Up @@ -105,3 +107,9 @@
user.adjustSanityLoss(-0.2*user.maxSanity)
ChangeMood() //Prevents spamming work on the same mood
return

/mob/living/simple_animal/hostile/abnormality/shy_look/BreachEffect(mob/living/carbon/human/user, breach_type)
icon = 'ModularTegustation/Teguicons/32x32.dmi'
icon_state = "bill"
base_pixel_x = 0
pixel_x = 0
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
icon = 'ModularTegustation/Teguicons/48x48.dmi'
icon_state = "spider_closed"
portrait = "spider_bud"
maxHealth = 400
health = 400
maxHealth = 1500
health = 1500
threat_level = TETH_LEVEL
work_chances = list(
ABNORMALITY_WORK_INSTINCT = list(60, 60, 65, 65, 65),
Expand All @@ -19,12 +19,18 @@

work_damage_amount = 7
work_damage_type = RED_DAMAGE
damage_coeff = list(RED_DAMAGE = 1.2, WHITE_DAMAGE = 2, BLACK_DAMAGE = 0.8, PALE_DAMAGE = 2)
good_hater = TRUE
ego_list = list(
/datum/ego_datum/weapon/eyes,
/datum/ego_datum/armor/eyes,
)
gift_type = /datum/ego_gifts/redeyes
var/summon_count = 0
var/summon_cooldown
var/summon_cooldown_time = 30 SECONDS
var/summon_group_size = 2
var/summon_maximum = 0
abnormality_origin = ABNORMALITY_ORIGIN_LOBOTOMY

observation_prompt = "I am a spider. <br>I eat anything my web catches. <br>I am starving. <br>\
Expand All @@ -41,10 +47,20 @@
/// Filled with ckeys of people who broke our cocoons, they need to pay if they dare mess with us
var/list/metagame_list = list()

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

/mob/living/simple_animal/hostile/abnormality/spider/Destroy()
metagame_list = null
return ..()

/mob/living/simple_animal/hostile/abnormality/spider/Life()
. = ..()
if(summon_count >= summon_maximum)
return
if((summon_cooldown < world.time) && !(status_flags & GODMODE))
SummonGuys()

/mob/living/simple_animal/hostile/abnormality/spider/PostWorkEffect(mob/living/carbon/human/user, work_type, pe, work_time)
// If you do insight or have low prudence, fuck you and die for stepping on a spider
if(get_attribute_level(user, PRUDENCE_ATTRIBUTE) >= 40 && work_type != ABNORMALITY_WORK_INSIGHT)
Expand All @@ -71,6 +87,20 @@
icon_state = "spider_closed"
datum_reference.max_boxes += 2

/mob/living/simple_animal/hostile/abnormality/spider/BreachEffect(mob/living/carbon/human/user, breach_type)
icon_state = "spider_active"
summon_maximum = 12
SummonGuys()
if(breach_type == BREACH_MINING)
summon_maximum = 6

/mob/living/simple_animal/hostile/abnormality/spider/proc/SummonGuys(summon_type)
summon_cooldown = world.time + summon_cooldown_time
for(var/i = 1 to summon_group_size)
var/turf/target_turf = get_turf(src)
new /mob/living/simple_animal/hostile/bud_spider(target_turf)
summon_count += 1

/obj/structure/spider/cocoon/spider_bud
desc = "Something wrapped in silky spider web. You should probably not destroy this."

Expand Down Expand Up @@ -103,3 +133,26 @@
spooder.turn_into_burger(sinner, TRUE)

return ..()

/mob/living/simple_animal/hostile/bud_spider
name = "Spiderling"
desc = "The offspring of spider bud."
icon = 'ModularTegustation/Teguicons/64x64.dmi'
icon_state = "spider_minion"
icon_living = "spider_minion"
base_pixel_x = -8
maxHealth = 300
health = 300
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
damage_coeff = list(BRUTE = 1, RED_DAMAGE = 1, WHITE_DAMAGE = 1.2, BLACK_DAMAGE = 0.8, PALE_DAMAGE = 2)
faction = list("hostile", "spider")
melee_damage_lower = 3
melee_damage_upper = 7
melee_damage_type = RED_DAMAGE
obj_damage = 3
attack_sound = 'sound/effects/ordeals/amber/dawn_dead.ogg'
density = TRUE
move_to_delay = 2
del_on_death = TRUE
stat_attack = DEAD
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
icon_state = "fairy"
icon_living = "fairy"
portrait = "fairy_festival"
core_icon = "fairy"
maxHealth = 800
health = 800
move_to_delay = 5
Expand Down Expand Up @@ -44,7 +45,7 @@
var/seek_cooldown
var/seek_cooldown_time = 10 SECONDS
var/summon_group_size = 6
var/summon_maximum = 14
var/summon_maximum = 0
var/eat_threshold = 0.8
abnormality_origin = ABNORMALITY_ORIGIN_LOBOTOMY

Expand Down Expand Up @@ -97,7 +98,7 @@
. = ..()
if(protected_people.len)
FairyHeal()
if(summon_count > summon_maximum)
if(summon_count >= summon_maximum)
return
if((summon_cooldown < world.time) && !(status_flags & GODMODE))
SummonGuys(summon_type)
Expand Down Expand Up @@ -136,12 +137,13 @@
/mob/living/simple_animal/hostile/abnormality/fairy_festival/BreachEffect(mob/living/carbon/human/user, breach_type)
if(breach_type == BREACH_PINK)
summon_cooldown_time = 20 SECONDS
summon_maximum = 15
SummonGuys(summon_type)
if(breach_type == BREACH_MINING)
can_breach = TRUE
summon_type = /mob/living/simple_animal/hostile/fairy_mass
summon_group_size = 1
summon_maximum = 3
summon_maximum = 4
SummonGuys(summon_type)
icon = 'ModularTegustation/Teguicons/96x48.dmi'
icon_state = "fairy_queen"
Expand Down Expand Up @@ -278,8 +280,8 @@
icon_state = "fairy_mass"
icon_living = "fairy_mass"
icon_dead = "fairy_mass_dead"
maxHealth = 300
health = 300
maxHealth = 150
health = 150
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
is_flying_animal = TRUE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,9 @@
/mob/living/simple_animal/hostile/abnormality/oceanicwaves/AttackingTarget()
return FALSE

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

/obj/projectile/oceanic
name = "shaken can of 'Oceanic Waves' soda"
desc = "A shaken can of sketchy orange soda."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@
if(faction_check_mob(L))
continue
to_chat(L, span_userdanger("[chosenfake]"))
addtimer(CALLBACK(src, PROC_REF(NukeAttack)), 30 SECONDS)
addtimer(CALLBACK(src, PROC_REF(NukeAttack)), 90 SECONDS)
return ..()

/mob/living/simple_animal/hostile/abnormality/oracle/proc/NukeAttack()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
/obj/item/mailpaper/trapped/flashbang,
)

/mob/living/simple_animal/hostile/abnormality/mailpile/AttackingTarget()
return FALSE

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

/mob/living/simple_animal/hostile/abnormality/mailpile/Destroy()
for(var/obj/effect/VFX in spawned_effects)
qdel(VFX)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
portrait = "wellcheers"
layer = BELOW_OBJ_LAYER
threat_level = ZAYIN_LEVEL
maxHealth = 600
health = 600
maxHealth = 900
health = 900
damage_coeff = list(RED_DAMAGE = 1, WHITE_DAMAGE = 1, BLACK_DAMAGE = 1, PALE_DAMAGE = 1)
work_chances = list(
ABNORMALITY_WORK_INSTINCT = list(70, 70, 60, 60, 60),
Expand Down Expand Up @@ -133,6 +133,9 @@
/mob/living/simple_animal/hostile/abnormality/wellcheers/AttackingTarget()
return FALSE

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

// Soda cans
/obj/item/reagent_containers/food/drinks/soda_cans/wellcheers_red
name = "can of cherry 'Wellcheers' soda"
Expand Down

0 comments on commit 9e44a10

Please sign in to comment.