Add a random mech spawner (Not mapped in yet)

This commit is contained in:
Kates
2020-07-10 00:13:16 +02:00
committed by VirgoBot
parent b8d851ea59
commit e4389f170c
9 changed files with 138 additions and 10 deletions

View File

@@ -6,7 +6,7 @@
step_in = 4
dir_in = 1 //Facing North.
health = 400
maxhealth = 400
maxhealth = 400 //Don't forget to update the /old variant if you change this number.
deflect_chance = 20
damage_absorption = list("brute"=0.5,"fire"=1.1,"bullet"=0.65,"laser"=0.85,"energy"=0.9,"bomb"=0.8)
max_temperature = 30000
@@ -61,4 +61,14 @@
if (href_list["toggle_defence_mode"])
src.defence_mode()
return
*/
*/
//Meant for random spawns.
/obj/mecha/combat/durand/old
desc = "An aging combat exosuit utilized by many corporations. Originally developed to combat hostile alien lifeforms. This one is particularly worn looking and likely isn't as sturdy."
/obj/mecha/combat/durand/old/New()
..()
health = 25
maxhealth = 350 //Just slightly worse.
cell.charge = rand(0, (cell.charge/2))

View File

@@ -6,7 +6,7 @@
step_in = 3
dir_in = 1 //Facing North.
health = 300
maxhealth = 300
maxhealth = 300 //Don't forget to update the /old variant if you change this number.
deflect_chance = 15
damage_absorption = list("brute"=0.75,"fire"=1,"bullet"=0.8,"laser"=0.7,"energy"=0.85,"bomb"=1)
max_temperature = 25000
@@ -126,4 +126,14 @@
H.glasses = null
H.recalculate_vis()
..()
return
return
//Meant for random spawns.
/obj/mecha/combat/gygax/old
desc = "A lightweight, security exosuit. Popular among private and corporate security. This one is particularly worn looking and likely isn't as sturdy."
/obj/mecha/combat/gygax/old/New()
..()
health = 25
maxhealth = 250 //Just slightly worse.
cell.charge = rand(0, (cell.charge/2))

View File

@@ -6,7 +6,7 @@
initial_icon = "marauder"
step_in = 5
health = 500
maxhealth = 500
maxhealth = 500 //Don't forget to update the /old variant if you change this number.
deflect_chance = 25
damage_absorption = list("brute"=0.5,"fire"=0.7,"bullet"=0.45,"laser"=0.6,"energy"=0.7,"bomb"=0.7)
max_temperature = 60000
@@ -145,3 +145,22 @@
"}
output += ..()
return output
//Meant for random spawns.
/obj/mecha/combat/marauder/old
desc = "Heavy-duty, combat exosuit, developed after the Durand model. Rarely found among civilian populations. This one is particularly worn looking and likely isn't as sturdy."
/obj/mecha/combat/marauder/old/New()
..()
health = 25
maxhealth = 400 //Just slightly worse.
cell.charge = rand(0, (cell.charge/2))
/obj/mecha/combat/marauder/old/Initialize()
..()
var/obj/item/mecha_parts/mecha_equipment/ME
if(equipment.len)
for(ME in equipment)
ME.detach()
qdel(ME)
return

View File

@@ -6,8 +6,8 @@
step_in = 1
dir_in = 1 //Facing North.
step_energy_drain = 3
health = 200
maxhealth = 200
health = 200 //God this is low
maxhealth = 200 //Don't forget to update the /old variant if you change this number.
deflect_chance = 30
damage_absorption = list("brute"=0.7,"fire"=0.7,"bullet"=0.7,"laser"=0.7,"energy"=0.7,"bomb"=0.7)
max_temperature = 25000
@@ -141,3 +141,13 @@
damtype = "halloss"
src.occupant_message("Melee damage type switched to [new_damtype]")
return
//Meant for random spawns.
/obj/mecha/combat/phazon/old
desc = "An exosuit which can only be described as 'WTF?'. This one is particularly worn looking and likely isn't as sturdy."
/obj/mecha/combat/phazon/old/New()
..()
health = 25
maxhealth = 150 //Just slightly worse.
cell.charge = rand(0, (cell.charge/2))

View File

@@ -76,7 +76,7 @@
var/wreckage
var/list/equipment = new
var/list/equipment = new //This lists holds what stuff you bolted onto your baby ride
var/obj/item/mecha_parts/mecha_equipment/selected
var/max_equip = 2
var/datum/events/events

View File

@@ -130,4 +130,14 @@
ME = new /obj/item/mecha_parts/mecha_equipment/tool/sleeper
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
ME.attach(src)
ME.attach(src)
//Meant for random spawns.
/obj/mecha/medical/odysseus/old
desc = "An aging combat exosuit utilized by many corporations. Originally developed to combat hostile alien lifeforms. This one is particularly worn looking and likely isn't as sturdy."
/obj/mecha/medical/odysseus/old/New()
..()
health = 25
maxhealth = 100 //Just slightly worse.
cell.charge = rand(0, (cell.charge/2))

View File

@@ -7,7 +7,7 @@
step_energy_drain = 5 // vorestation edit because 10 drained a significant chunk of its cell before you even got out the airlock
max_temperature = 20000
health = 200
maxhealth = 200
maxhealth = 200 //Don't forget to update the /old variant if you change this number.
wreckage = /obj/effect/decal/mecha_wreckage/ripley
cargo_capacity = 10
var/obj/item/weapon/mining_scanner/orescanner // vorestation addition
@@ -81,6 +81,7 @@
qdel (B)
<<<<<<< HEAD
// VORESTATION EDIT BEGIN
/obj/mecha/working/ripley/New()
@@ -97,3 +98,14 @@
// VORESTATION EDIT END
=======
//Meant for random spawns.
/obj/mecha/working/ripley/mining/old
desc = "An old, dusty mining ripley."
/obj/mecha/working/ripley/mining/old/New()
..()
health = 25
maxhealth = 190 //Just slightly worse.
cell.charge = rand(0, cell.charge)
>>>>>>> 5d10e60... Add a random mech spawner (Not mapped in yet) (#7324)

View File

@@ -0,0 +1,56 @@
/obj/random/mech
name = "random mech"
desc = "This is a random single mech."
icon = 'icons/mecha/mecha.dmi'
icon_state = "old_durand"
drop_get_turf = FALSE
//This list includes the phazon, gorilla and mauler. You might want to use something else if balance is a concern.
/obj/random/mech/item_to_spawn()
return pick(/obj/mecha/combat/gygax,
/obj/mecha/combat/gygax/serenity,
/obj/mecha/combat/gygax/dark,
/obj/mecha/combat/marauder,
/obj/mecha/combat/marauder/seraph,
/obj/mecha/combat/marauder/mauler,
/obj/mecha/medical/odysseus,
/obj/mecha/combat/phazon,
/obj/mecha/combat/phazon/janus,
/obj/mecha/combat/durand,
/obj/mecha/working/ripley,
/obj/mecha/working/ripley/firefighter,
/obj/mecha/working/ripley/deathripley,
/obj/mecha/working/ripley/mining)
/obj/random/mech/weaker
name = "random mech"
desc = "This is a random single mech. Those are less potent and more common."
icon = 'icons/mecha/mecha.dmi'
icon_state = "old_durand"
drop_get_turf = FALSE
/obj/random/mech/weaker/item_to_spawn()
return pick(/obj/mecha/combat/gygax,
/obj/mecha/combat/gygax/serenity,
/obj/mecha/medical/odysseus,
/obj/mecha/combat/durand,
/obj/mecha/working/ripley,
/obj/mecha/working/ripley/firefighter,
/obj/mecha/working/ripley/deathripley,
/obj/mecha/working/ripley/mining)
/obj/random/mech/old
name = "random mech"
desc = "This is a random single old mech."
icon = 'icons/mecha/mecha.dmi'
icon_state = "old_durand"
drop_get_turf = FALSE
//Note that all of those are worn out and have slightly less maximal health than the standard.
/obj/random/mech/old/item_to_spawn()
return pick(prob(10);/obj/mecha/combat/gygax/old,
prob(1);/obj/mecha/combat/marauder/old,
prob(1);/obj/mecha/combat/phazon/old,
prob(10);/obj/mecha/combat/durand/old,
prob(15);/obj/mecha/medical/odysseus/old,
prob(20);/obj/mecha/working/ripley/mining/old)