Desert Planet Alterations (#12069)

This commit is contained in:
FluffMedic
2025-12-06 15:16:17 -05:00
committed by GitHub
parent f746678620
commit 7e3b3aa8a9
14 changed files with 10230 additions and 9786 deletions

View File

@@ -41,11 +41,12 @@
name = "tyrian energy blade" name = "tyrian energy blade"
slot_flags = SLOT_BELT | SLOT_BACK //should make a proper sprite some time but spriting energy is hard slot_flags = SLOT_BELT | SLOT_BACK //should make a proper sprite some time but spriting energy is hard
desc = "A forgien blade made via techniques of ages old. Gains a diffrent effect base off your stance." desc = "A forgien blade made via techniques of ages old. Gains a diffrent effect base off your stance."
description_info = "Attacking whilst on grab intent weakens the target's healing, attacking whilst on disarm weakens the target's melee potential, and attacking whilst on harm has a 2% chance to deal guarnteed massive damage." description_info = "Attacking whilst on grab intent weakens the target's healing, attacking whilst on disarm weakens the target's melee potential, and attacking whilst on harm has a 2% chance to deal guaranteed massive damage."
active_force = 30 active_force = 30
active_armourpen = 30 active_armourpen = 30
projectile_parry_chance = 20 projectile_parry_chance = 20
defend_chance = 20 defend_chance = 20
colorable = FALSE
icon = 'modular_chomp/icons/mob/tribal_gear.dmi' icon = 'modular_chomp/icons/mob/tribal_gear.dmi'
icon_state = "sabre" icon_state = "sabre"

View File

@@ -259,42 +259,103 @@
slot_r_hand_str = 'modular_chomp/icons/obj/guns/precursor/righthand.dmi', slot_r_hand_str = 'modular_chomp/icons/obj/guns/precursor/righthand.dmi',
) )
/obj/item/clothing/suit/armor/tyr_alien //E sword has 30 damage, 50 AP, and 65% projectile block
name = "expirmental biosuit" //Axe is 60 damage, 65 AP, no guard
desc = "It's a strange piece of what appears to be a suit of some sort." //Normal attackspeed is 8
description_info = "Organic users of the suit will be slowly healed, and given nutrition." //The katar is meant for quick strikes, the real damage from from effects
icon_state = "lingchameleon" /obj/item/melee/energy/tyr_katar
body_parts_covered = CHEST name = "tyrian scout katar"
armor = list(melee = 60, bullet = 50, laser = 40, energy = 40, bomb = 0, bio = 80, rad = 80) slot_flags = SLOT_BELT | SLOT_BACK
siemens_coefficient = 0.4 desc = "A forgien blade made via techniques formly lost. Gains a diffrent effect base off your stance."
description_info = "Attacking whilst on grab intent will plant a heat bomb, attacking whilst on disarm will increase your speed for a brief moment, and attacking whilst on harm will phase out your foe's armor."
colorable = FALSE
attackspeed = 4
active_force = 5
active_armourpen = 70
/obj/item/clothing/suit/armor/tyr_alien/Initialize(mapload) projectile_parry_chance = 70
. = ..()
START_PROCESSING(SSobj, src)
/obj/item/clothing/suit/armor/tyr_alien/Destroy() w_class = ITEMSIZE_SMALL
wearer = null active_w_class = ITEMSIZE_HUGE
STOP_PROCESSING(SSobj, src)
return ..()
/obj/item/clothing/suit/armor/tyr_alien/process() icon = 'modular_chomp/icons/mob/tribal_gear.dmi'
var/mob/living/carbon/human/H = wearer?.resolve() icon_state = "katar"
if(!ishuman(H) || H.isSynthetic() || H.stat == DEAD || H.nutrition <= 10) item_state = "katar"
return // Robots and dead people don't have a metabolism.
if(H.getBruteLoss()) item_icons = list(
H.adjustBruteLoss(-0.2) slot_l_hand_str = 'modular_chomp/icons/obj/guns/precursor/lefthand.dmi',
H.nutrition = max(H.nutrition + 5, 0) slot_r_hand_str = 'modular_chomp/icons/obj/guns/precursor/righthand.dmi',
if(H.getFireLoss()) )
H.adjustFireLoss(-0.2)
H.nutrition = max(H.nutrition + 5, 0)
if(H.getToxLoss())
H.adjustToxLoss(-0.2)
H.nutrition = max(H.nutrition + 5, 0)
if(H.getOxyLoss())
H.adjustOxyLoss(-0.2)
H.nutrition = max(H.nutrition + 5, 0)
if(H.getCloneLoss())
H.adjustCloneLoss(-0.2)
H.nutrition = max(H.nutrition + 5, 0)
/obj/item/melee/energy/tyr_katar/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
if(active)
. = ..()
switch(user.a_intent)
if(I_GRAB)
target.add_modifier(/datum/modifier/agate_bomb, 8 SECONDS)
if(I_DISARM)
user.add_modifier(/datum/modifier/technomancer/haste, 2 SECONDS)
if(I_HURT)
target.add_modifier(/datum/modifier/phase_armor, 5 SECONDS)
/datum/modifier/agate_bomb
name = "Agate Bomb"
desc = "The bomb has been planted."
on_created_text = span_notice("A strange substance is applied to your form.")
on_expired_text = span_warning("The substance explodes.")
stacks = MODIFIER_STACK_ALLOWED
/datum/modifier/agate_bomb/on_expire()
if(holder.stat != DEAD)
holder.inflict_heat_damage(20)
/datum/modifier/phase_armor
name = "Phased Armor"
desc = "Your defense has been phased out."
on_created_text = span_notice("Part of your form phases out.")
on_expired_text = span_warning("Your missing form phases back in.")
stacks = MODIFIER_STACK_EXTEND
incoming_damage_percent = 1.5
//Trades speed for defense
//you are the wall
/obj/item/melee/energy/tyr_hammer
name = "tyrian guardian hammer"
slot_flags = SLOT_BELT | SLOT_BACK
desc = "A strange hammer made via techniques formly lost. Gains a diffrent effect base off your stance."
description_info = "Attacking whilst on grab intent weakens the target's healing, attacking whilst on disarm weakens the target's melee potential, and attacking whilst on harm has a 2% chance to deal guaranteed massive damage."
colorable = FALSE
active_force = 20
active_armourpen = 40
attackspeed = 20
defend_chance = 50
projectile_parry_chance = 50
active_w_class = ITEMSIZE_HUGE
can_cleave = TRUE
icon = 'modular_chomp/icons/mob/tribal_gear.dmi'
icon_state = "hammer"
item_state = "hammer"
item_icons = list(
slot_l_hand_str = 'modular_chomp/icons/obj/guns/precursor/lefthand.dmi',
slot_r_hand_str = 'modular_chomp/icons/obj/guns/precursor/righthand.dmi',
)
/obj/item/melee/energy/tyr_hammer/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
if(active)
. = ..()
switch(user.a_intent)
if(I_GRAB)
user.adjustFireLoss(-5)
user.adjustFireLoss(-5)
if(I_DISARM)
target.Weaken(30)
if(I_HURT)
var/atom/target_zone = get_edge_target_turf(user,get_dir(user, target))
if(!target.anchored)
target.throw_at(target_zone, 5, 2, user, FALSE)

View File

@@ -8,6 +8,8 @@
pass_flags = PASSTABLE pass_flags = PASSTABLE
movement_cooldown = 1 movement_cooldown = 1
melee_miss_chance = 0
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
see_in_dark = 3 see_in_dark = 3
@@ -125,7 +127,7 @@
name = "quartz metal ant" name = "quartz metal ant"
icon_state = "quartz_ant" icon_state = "quartz_ant"
icon_living = "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(\ butchery_loot = list(\
/obj/item/stack/material/quartz = 18\ /obj/item/stack/material/quartz = 18\
) )
@@ -158,6 +160,7 @@
/mob/living/simple_mob/animal/tyr/mineral_ants/verdantium /mob/living/simple_mob/animal/tyr/mineral_ants/verdantium
name = "green metal ant" name = "green metal ant"
evasion = 50
icon_state = "verdantium_ant" icon_state = "verdantium_ant"
icon_living = "verdantium_ant" icon_living = "verdantium_ant"
butchery_loot = list(\ butchery_loot = list(\
@@ -171,7 +174,13 @@
butchery_loot = list(\ butchery_loot = list(\
/obj/item/stack/material/uranium = 18\ /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) /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) SSradiation.radiate(src, 15)
/mob/living/simple_mob/animal/tyr/mineral_ants/tritium /mob/living/simple_mob/animal/tyr/mineral_ants/tritium
@@ -189,15 +198,8 @@
butchery_loot = list(\ butchery_loot = list(\
/obj/item/stack/material/mhydrogen = 6\ /obj/item/stack/material/mhydrogen = 6\
) )
size_multiplier = 0.5
special_attack_min_range = 4 movement_cooldown = -1
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)
/mob/living/simple_mob/animal/tyr/mineral_ants/builder /mob/living/simple_mob/animal/tyr/mineral_ants/builder
name = "concrete ant" name = "concrete ant"

View File

@@ -55,8 +55,8 @@
faction = FACTION_HIVEBOT faction = FACTION_HIVEBOT
movement_cooldown = 10 movement_cooldown = 10
size_multiplier = 2 size_multiplier = 2
maxHealth = 500 maxHealth = 600
health = 500 health = 600
wreckage = /obj/structure/loot_pile/surface/alien/engineering wreckage = /obj/structure/loot_pile/surface/alien/engineering
ai_holder_type = /datum/ai_holder/simple_mob/intentional/three_phases/no_movement ai_holder_type = /datum/ai_holder/simple_mob/intentional/three_phases/no_movement
anchored = 1 anchored = 1
@@ -89,7 +89,7 @@
specialattackprojectile = /obj/item/projectile/energy/wallbreaker/boss specialattackprojectile = /obj/item/projectile/energy/wallbreaker/boss
rng_cycle = rand(1,4) rng_cycle = rand(1,4)
direct_say("PROTOCOL: PRECISION. SWEEP.") 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 attackcycle = 0
if(3) if(3)
specialattackprojectile = /obj/item/projectile/energy/lightingspark/nanoweave specialattackprojectile = /obj/item/projectile/energy/lightingspark/nanoweave

View File

@@ -39,7 +39,7 @@
addtimer(CALLBACK(src, PROC_REF(detonate)), fuse_time, TIMER_DELETE_ME) addtimer(CALLBACK(src, PROC_REF(detonate)), fuse_time, TIMER_DELETE_ME)
/obj/item/grenade/shooter/auto_explode/blade_boss_long /obj/item/grenade/shooter/auto_explode/blade_boss_long
spread_range = 2 spread_range = 1
projectile_types = list(/obj/item/projectile/bullet/astral_blade) projectile_types = list(/obj/item/projectile/bullet/astral_blade)
/obj/item/grenade/shooter/auto_explode/blade_boss_short /obj/item/grenade/shooter/auto_explode/blade_boss_short
@@ -47,5 +47,5 @@
projectile_types = list(/obj/item/projectile/bullet/astral_blade/short) projectile_types = list(/obj/item/projectile/bullet/astral_blade/short)
/obj/item/grenade/shooter/auto_explode/tyr_flora /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) projectile_types = list(/obj/item/projectile/energy/neurotoxin/toxic/tyr_flora)

View File

@@ -1,6 +1,6 @@
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss /mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss
health = 1000 health = 3000
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 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 faction = FACTION_TYR
armor = list(melee = 30, bullet = 30, laser = 30, energy = 30, bomb = 30, bio = 100, rad = 100) armor = list(melee = 30, bullet = 30, laser = 30, energy = 30, bomb = 30, bio = 100, rad = 100)
movement_cooldown = 40 movement_cooldown = 40
@@ -23,6 +23,8 @@
special_attack_max_range = 7 special_attack_max_range = 7
wreckage = /obj/item/prop/tyrlore/gatekeeper wreckage = /obj/item/prop/tyrlore/gatekeeper
melee_miss_chance = 0
loot_list = list(/obj/item/gun/energy/tyr_rifle = 30, loot_list = list(/obj/item/gun/energy/tyr_rifle = 30,
/obj/item/tool/wirecutters/hybrid/alien = 30, /obj/item/tool/wirecutters/hybrid/alien = 30,
/obj/item/tool/wrench/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/manipulator/hyper = 80,
/obj/item/stock_parts/matter_bin/hyper = 80, /obj/item/stock_parts/matter_bin/hyper = 80,
/obj/item/reagent_containers/food/snacks/meat = 100, /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 /mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/acid_boss
@@ -50,9 +54,8 @@
icon_state = "poison_boss" icon_state = "poison_boss"
icon_living = "poison_boss" icon_living = "poison_boss"
wreckage = /obj/item/prop/tyrlore/acid_boss wreckage = /obj/item/prop/tyrlore/acid_boss
projectiletype = /obj/item/projectile/bullet/astral_blade
specialattackprojectile = /obj/item/projectile/energy/neurotoxin/toxic/tyr_flora 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() /mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/acid_boss/load_default_bellies()
. = ..() . = ..()
@@ -134,14 +137,14 @@
name = "experiment 15" name = "experiment 15"
desc = "A strange furball gaurded by a transparent barrier." desc = "A strange furball gaurded by a transparent barrier."
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin
health = 450 health = 700
maxHealth = 450 //shield mechanic maxHealth = 700 //shield mechanic
icon_state = "UPshield_boss" icon_state = "UPshield_boss"
icon_living = "UPshield_boss" icon_living = "UPshield_boss"
projectiletype = /obj/item/projectile/energy/eclipse/tyrjavelin projectiletype = /obj/item/projectile/energy/eclipse/tyrjavelin
wreckage = /obj/item/prop/tyrlore/shield_boss wreckage = /obj/item/prop/tyrlore/shield_boss
var/fullshield = 200 var/fullshield = 300
var/shieldrage = 200 var/shieldrage = 300
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/shield_boss/load_default_bellies() /mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/shield_boss/load_default_bellies()
. = ..() . = ..()
@@ -169,9 +172,9 @@
else else
..() ..()
shieldrage -= P.damage shieldrage -= P.damage
if(shieldrage > 0) if(shieldrage < 0)
shieldrage = 200 shieldrage = 300
fullshield = 200 fullshield = 300
visible_message(span_boldwarning(span_orange("The shield reactivates!!."))) visible_message(span_boldwarning(span_orange("The shield reactivates!!.")))
icon_state = "UPshield_boss" 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) addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 10), 0.5 SECONDS, TIMER_DELETE_ME)
attackcycle = 0 attackcycle = 0
if(2) 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 attackcycle = 0
if(3) if(3)
addtimer(CALLBACK(src, PROC_REF(gattlingfire), A, rng_cycle, 8, 7), 0.5 SECONDS, TIMER_DELETE_ME) 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_state = "naga_boss"
icon_living = "naga_boss" icon_living = "naga_boss"
wreckage = /obj/item/prop/tyrlore/gravity_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) /mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/naga_boss/do_special_attack(atom/A)
rng_cycle = rand(1,3) rng_cycle = rand(1,3)
@@ -238,7 +242,7 @@
icon_state = "cyan" icon_state = "cyan"
icon_living = "cyan" icon_living = "cyan"
size_multiplier = 3 size_multiplier = 3
projectiletype = /obj/item/projectile/bullet/tyr_bladeburst projectiletype = /obj/item/projectile/bullet/astral_blade
wreckage = /obj/item/prop/tyrlore/shotgun wreckage = /obj/item/prop/tyrlore/shotgun
specialattackprojectile = /obj/item/projectile/bullet/astral_blade specialattackprojectile = /obj/item/projectile/bullet/astral_blade
@@ -249,7 +253,7 @@
attackcycle = 0 attackcycle = 0
if(2) if(2)
attackcycle = 0 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) if(3)
attackcycle = 0 attackcycle = 0
addtimer(CALLBACK(src, PROC_REF(summon_puddles), A, 2, /datum/modifier/mmo_drop/blade_boss_long), 2.5 SECONDS, TIMER_DELETE_ME) 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 /mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/swarm_ai
name = "swarm controler" name = "swarm controler"
desc = "A massive hivebot that has shifting bits of metal upon it's body." desc = "A massive hivebot that has shifting bits of metal upon it's body."
health = 600 health = 700
maxHealth = 600 maxHealth = 700
icon_state = "bright_green" icon_state = "bright_green"
icon_living = "bright_green" icon_living = "bright_green"
icon = 'modular_chomp/icons/mob/hivebot.dmi' icon = 'modular_chomp/icons/mob/hivebot.dmi'
size_multiplier = 3 size_multiplier = 3
wreckage = /obj/item/prop/tyrlore/swarm_boss wreckage = /obj/item/prop/tyrlore/swarm_boss
special_attack_cooldown = 8 SECONDS special_attack_cooldown = 8 SECONDS
melee_damage_lower = 20 melee_damage_lower = 30
melee_damage_upper = 20 melee_damage_upper = 30
attack_armor_pen = 50
movement_cooldown = 4 movement_cooldown = 4
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/swarm_ai/bullet_act(obj/item/projectile/P) /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 specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor
projectiletype = /obj/item/projectile/arc/blue_energy/precusor projectiletype = /obj/item/projectile/arc/blue_energy/precusor
wreckage = /obj/item/prop/tyrlore/meteor_boss 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) /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) strike_downx = rand(-7,7)
@@ -331,19 +335,19 @@
wreckage = bullet_heck(A, strike_downx, strikedowny) wreckage = bullet_heck(A, strike_downx, strikedowny)
//the add tutortial //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" name = "medical robot"
desc = "A massive hivebot with medical equipment." desc = "A massive hivebot with medical equipment."
health = 600 health = 400
maxHealth = 600 maxHealth = 400
icon_state = "white" icon_state = "white"
icon_living = "wite" icon_living = "white"
icon = 'icons/mob/hivebot.dmi' icon = 'icons/mob/hivebot.dmi'
size_multiplier = 3 size_multiplier = 3
wreckage = /obj/item/prop/tyrlore/medical_boss wreckage = /obj/item/prop/tyrlore/medical_boss
melee_damage_lower = 20 melee_damage_lower = 10
melee_damage_upper = 20 melee_damage_upper = 10
attack_armor_pen = 50 attack_armor_pen = 80
movement_cooldown = 4 movement_cooldown = 4
special_attack_cooldown = 12 SECONDS special_attack_cooldown = 12 SECONDS
@@ -364,11 +368,12 @@
icon = 'modular_chomp/icons/mob/tyr.dmi' icon = 'modular_chomp/icons/mob/tyr.dmi'
icon_state = "guardian" icon_state = "guardian"
icon_living = "guardian" icon_living = "guardian"
maxHealth = 2.5 LASERS_TO_KILL // 100 hp maxHealth = 1.5 LASERS_TO_KILL // 60 hp
health = 2.5 LASERS_TO_KILL health = 1.5 LASERS_TO_KILL
melee_damage_lower = 10 melee_damage_lower = 10
melee_damage_upper = 10 melee_damage_upper = 10
attack_armor_pen = 80 attack_armor_pen = 80
movement_cooldown = 4
/mob/living/simple_mob/mechanical/hivebot/tyr/heart/handle_special() /mob/living/simple_mob/mechanical/hivebot/tyr/heart/handle_special()
if(stat != DEAD) if(stat != DEAD)
@@ -382,6 +387,7 @@
L.add_modifier(/datum/modifier/aura/heart_barrier, null, src) L.add_modifier(/datum/modifier/aura/heart_barrier, null, src)
/datum/modifier/aura/heart_barrier /datum/modifier/aura/heart_barrier
stacks = MODIFIER_STACK_FORBID
mob_overlay_state = "deflect" mob_overlay_state = "deflect"
incoming_damage_percent = 0 incoming_damage_percent = 0
aura_max_distance = 3 aura_max_distance = 3

View File

@@ -30,6 +30,7 @@
icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi' icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi'
icon_state = "blaster_blast" icon_state = "blaster_blast"
damage = 35 damage = 35
armor_penetration = 15
range = 6 range = 6
penetrating = 2 penetrating = 2
check_armour = "laser" check_armour = "laser"
@@ -37,8 +38,8 @@
/obj/item/projectile/beam/precursor_tyr /obj/item/projectile/beam/precursor_tyr
name = "laser" name = "laser"
icon_state = "laser" icon_state = "laser"
damage = 8 damage = 9
armor_penetration = 30 armor_penetration = 40
penetrating = 2 penetrating = 2
damage_type = BURN damage_type = BURN
check_armour = "laser" check_armour = "laser"
@@ -59,14 +60,14 @@
/obj/item/gun/energy/tyr_rifle /obj/item/gun/energy/tyr_rifle
name = "tyrian longarm" name = "tyrian longarm"
desc = "A strange alien weapon from tyr." desc = "A strange alien weapon from tyr. Has a button to swap fire modes."
icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi' icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi'
icon_state = "shotgun" icon_state = "shotgun"
item_state = "shotgun" item_state = "shotgun"
wielded_item_state = "placeholder" wielded_item_state = "placeholder"
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3) origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
charge_cost = 625 //Four shots charge_cost = 160 //15 shots sort of
battery_lock = 1 //No changing battery_lock = 1 //No changing
accept_cell_type = /obj/item/cell/device accept_cell_type = /obj/item/cell/device
@@ -79,8 +80,8 @@
charge_meter = 1 charge_meter = 1
firemodes = list( firemodes = list(
list(mode_name="single", projectile_type=/obj/item/projectile/energy/tyr_rifle, charge_cost = 250), list(mode_name="single", projectile_type=/obj/item/projectile/energy/tyr_rifle, charge_cost = 160),
list(mode_name="area", projectile_type=/obj/item/projectile/bullet/tyrshotburst, charge_cost = 500), list(mode_name="area", projectile_type=/obj/item/projectile/bullet/tyrshotburst, charge_cost = 312),
) )
move_delay = 0 move_delay = 0
@@ -103,8 +104,8 @@
icon_state = "javelin" icon_state = "javelin"
damage_type = SEARING damage_type = SEARING
check_armour = "melee" check_armour = "melee"
damage = 23 damage = 20 //16 with intended armor
armor_penetration = 30 armor_penetration = 20
speed = 10 speed = 10
color = "#FF6600" color = "#FF6600"
modifier_type_to_apply = /datum/modifier/deep_wounds //reduced healing modifier_type_to_apply = /datum/modifier/deep_wounds //reduced healing
@@ -121,8 +122,7 @@
name = "bluespace slash" name = "bluespace slash"
icon_state = "astral_sea_blade" icon_state = "astral_sea_blade"
icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi' icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi'
damage = 30 //21 with intended armor damage = 25 //15
armor_penetration = 10
damage_type = BRUTE damage_type = BRUTE
check_armour = "melee" check_armour = "melee"
embed_chance = 0 embed_chance = 0
@@ -130,37 +130,36 @@
penetrating = 5 penetrating = 5
crawl_destroy = TRUE crawl_destroy = TRUE
/obj/item/projectile/bullet/astral_blade/artillery
range = 3
/obj/item/projectile/bullet/astral_blade/artillery/secondary
damage = 15
speed = 0.5
/obj/item/projectile/bullet/astral_blade/short /obj/item/projectile/bullet/astral_blade/short
damage = 20 damage = 20
speed = 0.3 speed = 0.3
range = 2 range = 2
/obj/item/projectile/bullet/tyr_bladeburst
use_submunitions = 1
range = 0
embed_chance = 0
spread_submunition_damage = FALSE
submunition_spread_max = 200
submunition_spread_min = 120
submunitions = list(/obj/item/projectile/bullet/astral_blade = 3)
/obj/item/projectile/energy/neurotoxin/toxic/tyr_flora /obj/item/projectile/energy/neurotoxin/toxic/tyr_flora
damage = 20 //deals 10 damage with the armor I am balancing for damage = 20 //deals 10 damage with the armor I am balancing for
agony = 0 agony = 0
speed = 12 speed = 12
armor_penetration = 50 armor_penetration = 50
penetrating = 5
/obj/item/projectile/arc/fragmentation/tyr_mortar /obj/item/projectile/arc/fragmentation/tyr_mortar
icon_state = "mortar" icon_state = "mortar"
fragment_amount = 10 fragment_amount = 10
spread_range = 3 spread_range = 3
fragment_types = list( fragment_types = list(
/obj/item/projectile/energy/eclipse/tyrjavelin, /obj/item/projectile/energy/eclipse/tyrjavelin, \ /obj/item/projectile/bullet/astral_blade/artillery, /obj/item/projectile/bullet/astral_blade/artillery, \
/obj/item/projectile/energy/eclipse/tyrjavelin, /obj/item/projectile/energy/eclipse/tyrjavelin/super_slow /obj/item/projectile/bullet/astral_blade/artillery, /obj/item/projectile/bullet/astral_blade/artillery/secondary
) )
/obj/item/projectile/energy/agate_lighting /obj/item/projectile/energy/agate_lighting
damage = 18 damage = 15
damage_type = ELECTROCUTE damage_type = ELECTROCUTE
icon_state = "tesla_projectile" icon_state = "tesla_projectile"
armor_penetration = 30 armor_penetration = 30
@@ -169,5 +168,5 @@
crawl_destroy = TRUE crawl_destroy = TRUE
/obj/item/projectile/energy/agate_lighting/fast /obj/item/projectile/energy/agate_lighting/fast
damage = 30 damage = 20
speed = 2 speed = 3

View File

@@ -32,6 +32,28 @@
) )
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design_techweb/tyr_katar
name = "Tyrian Energy Katar"
id = "tyr_katar"
build_type = PROTOLATHE
materials = list(MAT_BRONZE = 10000,MAT_DIAMOND = 6000,MAT_COPPER = 8000,MAT_METALHYDROGEN = 2000,MAT_QUARTZ = 2000,MAT_EAGATE = 6000)
build_path = /obj/item/melee/energy/tyr_katar
category = list(
RND_CATEGORY_EQUIPMENT
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design_techweb/tyr_hammer
name = "Tyrian Energy Hammer"
id = "tyr_hammer"
build_type = PROTOLATHE
materials = list(MAT_BRONZE = 10000,MAT_DIAMOND = 6000,MAT_COPPER = 8000,MAT_METALHYDROGEN = 2000,MAT_QUARTZ = 2000,MAT_EAGATE = 6000)
build_path = /obj/item/melee/energy/tyr_hammer
category = list(
RND_CATEGORY_EQUIPMENT
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design_techweb/tyr_barrierbelt /datum/design_techweb/tyr_barrierbelt
name = "Tyrian Barrier Bubble" name = "Tyrian Barrier Bubble"
id = "tyr_barrier" id = "tyr_barrier"

View File

@@ -7,6 +7,8 @@
"tyr_rifle", "tyr_rifle",
"magnet_belt", "magnet_belt",
"tyr_sabre", "tyr_sabre",
"tyr_katar",
"tyr_hammer",
"tyr_barrier", "tyr_barrier",
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -56,52 +56,6 @@
docking_codes = null docking_codes = null
//AREAS //AREAS
/area/surface/tyr/town
name = "Lost Town"
icon_state = "green"
outdoors = OUTDOORS_YES
/area/surface/tyr/church
name = "Wreckage Town - Church"
icon_state = "away"
outdoors = OUTDOORS_NO
/area/surface/tyr/startshuttle
name = "Wreckage Town - Shuttle"
icon_state = "blublacir"
outdoors = OUTDOORS_NO
/area/surface/tyr/wrecked_shipA
name = "Wrecked Shuttle"
icon_state = "blublasqu"
outdoors = OUTDOORS_NO
/area/surface/tyr/wrecked_shipB
name = "Demolished Shuttle"
icon_state = "blublatri"
outdoors = OUTDOORS_NO
/area/surface/tyr/wrecked_shipC
name = "Crashed Shuttle"
icon_state = "cyablacir"
outdoors = OUTDOORS_NO
/area/surface/tyr/wrecked_shipD
name = "Scraped Shuttle"
icon_state = "cyablasqu"
outdoors = OUTDOORS_NO
/area/surface/tyr/wrecked_shipE
name = "Dead Shuttle"
icon_state = "cyablatri"
outdoors = OUTDOORS_NO
/area/surface/tyr/wrecked_shipF
name = "Sleeping Shuttle"
icon_state = "magblacir"
outdoors = OUTDOORS_NO
/area/surface/tyr/northern_wilderness /area/surface/tyr/northern_wilderness
name = "Tyr Wilderness" name = "Tyr Wilderness"
icon_state = "green" icon_state = "green"
@@ -113,118 +67,141 @@
icon_state = "green" icon_state = "green"
outdoors = OUTDOORS_YES outdoors = OUTDOORS_YES
/area/surface/tyr/junkyard /area/surface/tyr/shuttles
name = "Tyr Junkyard" name = "Destroyed Shuttle"
icon_state = "green" icon_state = "green"
outdoors = OUTDOORS_YES outdoors = OUTDOORS_YES
/area/surface/tyr/tar_lake /area/surface/tyr/shuttles/one
name = "Tar Lake"
icon_state = "bluenew" /area/surface/tyr/shuttles/two
/area/surface/tyr/shuttles/three
/area/surface/tyr/shuttles/four
/area/surface/tyr/shuttles/five
/area/surface/tyr/shuttles/six
/area/surface/tyr/shuttles/seven
/area/surface/tyr/shuttles/eight
/area/surface/tyr/shuttles/nine
/area/surface/tyr/shuttles/ten
/area/surface/tyr/shuttles/eleven
/area/surface/tyr/shuttles/tweleve
/area/surface/tyr/shuttles/rock_one
/area/surface/tyr/shuttles/rock_two
/area/surface/tyr/ancient_ruins
name = "Ancient Ruins"
icon_state = "red"
requires_power = FALSE
outdoors = OUTDOORS_NO
/area/surface/tyr/eclipse_refinery /area/surface/tyr/eclipse_refinery
name = "Tyr refinery" name = "Tyr refinery"
icon_state = "green" icon_state = "green"
outdoors = OUTDOORS_NO outdoors = OUTDOORS_NO
/area/surface/tyr/ancient_ruins/puzzlea
/area/surface/tyr/ancient_ruins/puzzleb /area/surface/tyr/caverns
/area/surface/tyr/ancient_ruins/puzzlec
/area/surface/tyr/ancient_ruins/puzzled
/area/surface/tyr/north_caverns
name = "Tyr Caverns" name = "Tyr Caverns"
icon_state = "away" icon_state = "away"
outdoors = OUTDOORS_NO outdoors = OUTDOORS_NO
/area/surface/tyr/south_caverns /area/surface/tyr/ancient_ruins
name = "Tyr Caverns" name = "Ark Storage"
icon_state = "away"
outdoors = OUTDOORS_NO
/area/surface/tyr/eclipse_stronghold
name = "Base Neon"
icon_state = "bluenew"
outdoors = OUTDOORS_NO
requires_power = FALSE
/area/surface/tyr/eclipse_stronghold/sec
name = "Base Neon - Security Branch"
icon_state = "red" icon_state = "red"
requires_power = FALSE
outdoors = OUTDOORS_NO
/area/surface/tyr/eclipse_stronghold/engineering /area/surface/tyr/ancient_ruins/one
name = "Base Neon - Enginering Branch"
icon_state = "yellow"
/area/surface/tyr/eclipse_stronghold/science /area/surface/tyr/ancient_ruins/two
name = "Base Neon - Science Branch"
icon_state = "purple"
/area/surface/tyr/eclipse_stronghold/medical /area/surface/tyr/ancient_ruins/three
name = "Base Neon - Medical Branch"
icon_state = "blue2"
/area/surface/tyr/eclipse_stronghold/command /area/surface/tyr/ancient_ruins/four
name = "Base Neon - Command Branch"
icon_state = "green"
/area/surface/tyr/eclipse_stronghold/cargo /area/surface/tyr/ancient_ruins/five
name = "Base Neon - Cargo Branch"
icon_state = "dark"
/area/surface/tyr/eclipse_stronghold/mining
name = "Base Neon - Digsight"
icon_state = "outpost_mine_main"
/area/surface/tyr/eclipse_stronghold/sectorfinale
name = "Precursor Ruins"
icon_state = "outside1"
/area/surface/tyr/ancient_ruins/six
/area/surface/tyr/precursorruins /area/surface/tyr/precursorruins
icon_state = "bluenew" icon_state = "bluenew"
requires_power = FALSE requires_power = FALSE
outdoors = OUTDOORS_NO outdoors = OUTDOORS_NO
name = "Ark Facility"
/area/surface/tyr/precursorruins
name = "Ark Facility - General Area"
flags = RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_SECRET_NAME | AREA_FORBID_EVENTS | PHASE_SHIELDED flags = RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_SECRET_NAME | AREA_FORBID_EVENTS | PHASE_SHIELDED
/area/surface/tyr/precursorruins/weather_office /area/surface/tyr/precursorruins/checkpoint
name = "Ark Facility - Weather Report" name = "Ark Facility - Checkpoint"
icon_state = "purple"
/area/surface/tyr/precursorruins/swarm_storage /area/surface/tyr/precursorruins/entryway
name = "Ark Facility - Replicator Storage" name = "Ark Facility - Entrance Hall"
icon_state = "dark"
/area/surface/tyr/precursorruins/engine /area/surface/tyr/precursorruins/checkpoint
name = "Ark Facility - Engine Monitoring" name = "Ark Facility - Checkpoint"
/area/surface/tyr/precursorruins/lookout /area/surface/tyr/precursorruins/stairwell
name = "Ark Facility - Observation Center" name = "Ark Facility - Stairwell"
icon_state = "purple"
/area/surface/tyr/precursorruins/expirment_zone /area/surface/tyr/precursorruins/science_branch
name = "Ark Facility - Expirment Containment" name = "Ark Facility - Science Branch"
icon_state = "dark"
/area/surface/tyr/precursorruins/southeast /area/surface/tyr/precursorruins/misc
name = "Relax Training Chamber" name = "Ark Facility - Misc"
/area/surface/tyr/precursorruins/northwest /area/surface/tyr/precursorruins/swarm_staircase
name = "Perception Training Chamber" name = "Ark Facility - Stair Spiral"
icon_state = "purple"
/area/surface/tyr/precursorruins/cliffchamber /area/surface/tyr/precursorruins/swarm_boss
name = "Ark Facility - Swarm Container"
icon_state = "dark"
/area/surface/tyr/precursorruins/airmaze /area/surface/tyr/precursorruins/medical_boss
name = "Ark Facility - Underconstruction"
/area/surface/tyr/precursorruins/spotthediffrence /area/surface/tyr/precursorruins/weather_boss
name = "Ark Facility - Weather Report"
icon_state = "purple"
/area/surface/tyr/precursorruins/sec_boss
name = "Ark Facility - Security Watchzone"
icon_state = "dark"
/area/surface/tyr/precursorruins/engi_boss
name = "Ark Facility - Engine Control"
/area/surface/tyr/precursorruins/science_a
name = "Ark Facility - Containment A"
icon_state = "purple"
/area/surface/tyr/precursorruins/science_b
name = "Ark Facility - Containment B"
icon_state = "dark"
/area/surface/tyr/precursorruins/science_c
name = "Ark Facility - Containment C"
/area/surface/tyr/precursorruins/science_d
name = "Ark Facility - Containment D"
icon_state = "purple"
/area/surface/tyr/precursorruins/science_e
name = "Ark Facility - Containment E"
icon_state = "dark"
/area/surface/tyr/precursorruins/science_f
name = "Ark Facility - Containment F"
/turf/unsimulated/wall/planetary/normal/tyr /turf/unsimulated/wall/planetary/normal/tyr
oxygen = TYR_MOL_O2 oxygen = TYR_MOL_O2

File diff suppressed because it is too large Load Diff