Desert Planet Alterations (#12069)

This commit is contained in:
FluffMedic
2025-12-06 21:16:17 +01:00
committed by GitHub
parent f746678620
commit 7e3b3aa8a9
14 changed files with 10230 additions and 9786 deletions
@@ -8,6 +8,8 @@
pass_flags = PASSTABLE
movement_cooldown = 1
melee_miss_chance = 0
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
see_in_dark = 3
@@ -125,7 +127,7 @@
name = "quartz metal ant"
icon_state = "quartz_ant"
icon_living = "quartz_ant"
armor = list(melee = 60, bullet = 50, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
armor = list(melee = 80, bullet = 80, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
butchery_loot = list(\
/obj/item/stack/material/quartz = 18\
)
@@ -158,6 +160,7 @@
/mob/living/simple_mob/animal/tyr/mineral_ants/verdantium
name = "green metal ant"
evasion = 50
icon_state = "verdantium_ant"
icon_living = "verdantium_ant"
butchery_loot = list(\
@@ -171,7 +174,13 @@
butchery_loot = list(\
/obj/item/stack/material/uranium = 18\
)
special_attack_min_range = 1
special_attack_max_range = 2
special_attack_cooldown = 5 SECONDS
/mob/living/simple_mob/animal/tyr/mineral_ants/uranium/do_special_attack(atom/A)
visible_message(span_bolddanger(span_orange("The ant glows bright green!.")))
SSradiation.radiate(src, 15)
/mob/living/simple_mob/animal/tyr/mineral_ants/tritium
@@ -189,15 +198,8 @@
butchery_loot = list(\
/obj/item/stack/material/mhydrogen = 6\
)
special_attack_min_range = 4
special_attack_max_range = 7
special_attack_cooldown = 15 SECONDS
/mob/living/simple_mob/animal/tyr/mineral_ants/mydro/do_special_attack(atom/A)
for(var/i =1 to 3)
new /obj/effect/spider/spiderling/antling(src.loc)
new /obj/effect/spider/spiderling/antling(src.loc)
size_multiplier = 0.5
movement_cooldown = -1
/mob/living/simple_mob/animal/tyr/mineral_ants/builder
name = "concrete ant"
@@ -55,8 +55,8 @@
faction = FACTION_HIVEBOT
movement_cooldown = 10
size_multiplier = 2
maxHealth = 500
health = 500
maxHealth = 600
health = 600
wreckage = /obj/structure/loot_pile/surface/alien/engineering
ai_holder_type = /datum/ai_holder/simple_mob/intentional/three_phases/no_movement
anchored = 1
@@ -89,7 +89,7 @@
specialattackprojectile = /obj/item/projectile/energy/wallbreaker/boss
rng_cycle = rand(1,4)
direct_say("PROTOCOL: PRECISION. SWEEP.")
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 25), 2 SECONDS, TIMER_DELETE_ME)
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 15), 2 SECONDS, TIMER_DELETE_ME)
attackcycle = 0
if(3)
specialattackprojectile = /obj/item/projectile/energy/lightingspark/nanoweave
@@ -39,7 +39,7 @@
addtimer(CALLBACK(src, PROC_REF(detonate)), fuse_time, TIMER_DELETE_ME)
/obj/item/grenade/shooter/auto_explode/blade_boss_long
spread_range = 2
spread_range = 1
projectile_types = list(/obj/item/projectile/bullet/astral_blade)
/obj/item/grenade/shooter/auto_explode/blade_boss_short
@@ -47,5 +47,5 @@
projectile_types = list(/obj/item/projectile/bullet/astral_blade/short)
/obj/item/grenade/shooter/auto_explode/tyr_flora
spread_range = 2
spread_range = 1
projectile_types = list(/obj/item/projectile/energy/neurotoxin/toxic/tyr_flora)
@@ -1,6 +1,6 @@
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss
health = 1000
maxHealth = 1000 //I don't like four digits, but the intended weapon has 30 damage, and desired player count is 3 with a length of 3 mins, doing the math adds up to 1080 but going to do 1k
health = 3000
maxHealth = 3000 //TG has megafauna with 2500 HP. Yet to see folks call those overly tanky. Tyr gun can deal 504 with a full clip of the single shot mode. Wanting longer fights, and this are meant for groups of three
faction = FACTION_TYR
armor = list(melee = 30, bullet = 30, laser = 30, energy = 30, bomb = 30, bio = 100, rad = 100)
movement_cooldown = 40
@@ -23,6 +23,8 @@
special_attack_max_range = 7
wreckage = /obj/item/prop/tyrlore/gatekeeper
melee_miss_chance = 0
loot_list = list(/obj/item/gun/energy/tyr_rifle = 30,
/obj/item/tool/wirecutters/hybrid/alien = 30,
/obj/item/tool/wrench/hybrid/alien = 30,
@@ -41,7 +43,9 @@
/obj/item/stock_parts/manipulator/hyper = 80,
/obj/item/stock_parts/matter_bin/hyper = 80,
/obj/item/reagent_containers/food/snacks/meat = 100,
/obj/item/melee/energy/tyr_sabre = 30
/obj/item/melee/energy/tyr_sabre = 30,
/obj/item/melee/energy/tyr_hammer = 30,
/obj/item/melee/energy/tyr_katar = 30,
)
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/acid_boss
@@ -50,9 +54,8 @@
icon_state = "poison_boss"
icon_living = "poison_boss"
wreckage = /obj/item/prop/tyrlore/acid_boss
projectiletype = /obj/item/projectile/bullet/astral_blade
specialattackprojectile = /obj/item/projectile/energy/neurotoxin/toxic/tyr_flora
var/regeneration_strength = -30
var/regeneration_strength = -20
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/acid_boss/load_default_bellies()
. = ..()
@@ -134,14 +137,14 @@
name = "experiment 15"
desc = "A strange furball gaurded by a transparent barrier."
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin
health = 450
maxHealth = 450 //shield mechanic
health = 700
maxHealth = 700 //shield mechanic
icon_state = "UPshield_boss"
icon_living = "UPshield_boss"
projectiletype = /obj/item/projectile/energy/eclipse/tyrjavelin
wreckage = /obj/item/prop/tyrlore/shield_boss
var/fullshield = 200
var/shieldrage = 200
var/fullshield = 300
var/shieldrage = 300
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/shield_boss/load_default_bellies()
. = ..()
@@ -169,9 +172,9 @@
else
..()
shieldrage -= P.damage
if(shieldrage > 0)
shieldrage = 200
fullshield = 200
if(shieldrage < 0)
shieldrage = 300
fullshield = 300
visible_message(span_boldwarning(span_orange("The shield reactivates!!.")))
icon_state = "UPshield_boss"
@@ -205,7 +208,7 @@
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 10), 0.5 SECONDS, TIMER_DELETE_ME)
attackcycle = 0
if(2)
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 5), 0.5 SECONDS, TIMER_DELETE_ME)
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 10), 0.5 SECONDS, TIMER_DELETE_ME)
attackcycle = 0
if(3)
addtimer(CALLBACK(src, PROC_REF(gattlingfire), A, rng_cycle, 8, 7), 0.5 SECONDS, TIMER_DELETE_ME)
@@ -216,6 +219,7 @@
icon_state = "naga_boss"
icon_living = "naga_boss"
wreckage = /obj/item/prop/tyrlore/gravity_boss
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/naga_boss/do_special_attack(atom/A)
rng_cycle = rand(1,3)
@@ -238,7 +242,7 @@
icon_state = "cyan"
icon_living = "cyan"
size_multiplier = 3
projectiletype = /obj/item/projectile/bullet/tyr_bladeburst
projectiletype = /obj/item/projectile/bullet/astral_blade
wreckage = /obj/item/prop/tyrlore/shotgun
specialattackprojectile = /obj/item/projectile/bullet/astral_blade
@@ -249,7 +253,7 @@
attackcycle = 0
if(2)
attackcycle = 0
addtimer(CALLBACK(src, PROC_REF(cutoff_ulti), A, 4, 5, 10), 0.5 SECONDS, TIMER_DELETE_ME)
addtimer(CALLBACK(src, PROC_REF(cutoff), A, 4, 5, 10), 0.5 SECONDS, TIMER_DELETE_ME)
if(3)
attackcycle = 0
addtimer(CALLBACK(src, PROC_REF(summon_puddles), A, 2, /datum/modifier/mmo_drop/blade_boss_long), 2.5 SECONDS, TIMER_DELETE_ME)
@@ -287,17 +291,16 @@
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/swarm_ai
name = "swarm controler"
desc = "A massive hivebot that has shifting bits of metal upon it's body."
health = 600
maxHealth = 600
health = 700
maxHealth = 700
icon_state = "bright_green"
icon_living = "bright_green"
icon = 'modular_chomp/icons/mob/hivebot.dmi'
size_multiplier = 3
wreckage = /obj/item/prop/tyrlore/swarm_boss
special_attack_cooldown = 8 SECONDS
melee_damage_lower = 20
melee_damage_upper = 20
attack_armor_pen = 50
melee_damage_lower = 30
melee_damage_upper = 30
movement_cooldown = 4
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/swarm_ai/bullet_act(obj/item/projectile/P)
@@ -324,6 +327,7 @@
specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor
projectiletype = /obj/item/projectile/arc/blue_energy/precusor
wreckage = /obj/item/prop/tyrlore/meteor_boss
special_attack_cooldown = 5
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/meteor_ai/do_special_attack(atom/A, var/strike_downx, var/strikedowny)
strike_downx = rand(-7,7)
@@ -331,19 +335,19 @@
wreckage = bullet_heck(A, strike_downx, strikedowny)
//the add tutortial
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/medical_bot
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/medical_bot //tutortial for ADD invul mechanics
name = "medical robot"
desc = "A massive hivebot with medical equipment."
health = 600
maxHealth = 600
health = 400
maxHealth = 400
icon_state = "white"
icon_living = "wite"
icon_living = "white"
icon = 'icons/mob/hivebot.dmi'
size_multiplier = 3
wreckage = /obj/item/prop/tyrlore/medical_boss
melee_damage_lower = 20
melee_damage_upper = 20
attack_armor_pen = 50
melee_damage_lower = 10
melee_damage_upper = 10
attack_armor_pen = 80
movement_cooldown = 4
special_attack_cooldown = 12 SECONDS
@@ -364,11 +368,12 @@
icon = 'modular_chomp/icons/mob/tyr.dmi'
icon_state = "guardian"
icon_living = "guardian"
maxHealth = 2.5 LASERS_TO_KILL // 100 hp
health = 2.5 LASERS_TO_KILL
maxHealth = 1.5 LASERS_TO_KILL // 60 hp
health = 1.5 LASERS_TO_KILL
melee_damage_lower = 10
melee_damage_upper = 10
attack_armor_pen = 80
movement_cooldown = 4
/mob/living/simple_mob/mechanical/hivebot/tyr/heart/handle_special()
if(stat != DEAD)
@@ -382,6 +387,7 @@
L.add_modifier(/datum/modifier/aura/heart_barrier, null, src)
/datum/modifier/aura/heart_barrier
stacks = MODIFIER_STACK_FORBID
mob_overlay_state = "deflect"
incoming_damage_percent = 0
aura_max_distance = 3