Metroid 1.0

Finally. Adds the full SR388 metroid bestiary. You got baby metroids, super metroids, alpha, gamma, zeta, omega, and queen. They are weak to bullet-type weapons and most are super weak to bombs.

The baby and supers act just like slimes in that they will succ head, so click them to get them off. The rest can still gain nutrition via melee and vore. If they get enough nutrition, they will evolve to their next phase.

Cold guns will do 100 damage per tick to baby and super metroids. The rest lose their cold vulnerability.
This commit is contained in:
Razgriz
2020-11-19 20:45:37 -07:00
parent 8bc11c9c4f
commit 5762ef8a25
2 changed files with 33 additions and 86 deletions
@@ -39,4 +39,4 @@
amount_grown += rand(0,2)
if(amount_grown >= 100)
new metroid_type(src.loc, src)
qdel(src)
qdel(src)
@@ -1,81 +1,41 @@
var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
/*
//The metroids' base variables!
//All the REAL types of metroids!
*/
//Remember to add vent crawling at some point.
/*
layer = MOB_LAYER + 1
var/obj/machinery/atmospherics/unary/vent_pump/entry_vent //Graciously stolen from spider code, for vent travel.
var/mob/living/victim = null // the person the metroid is currently feeding on
var/optimal_combat = FALSE // Used to dumb down the combat AI somewhat. If true, the metroid tends to be really dangerous to fight alone due to stunlocking.
var/evo_point = 0
var/evo_limit = 0
var/next = null
/mob/living/simple_mob/metroid //activate noms
vore_active = 1
vore_pounce_chance = 25
vore_icons = SA_ICON_LIVING
*/
/*/mob/living/simple_mob/metroid/pet //Security's pet
/mob/living/simple_mob/metroid/pet //Security's pet
name = "Jellybrig"
desc = "This one scree's happily at you."
ai_holder_type = /datum/ai_holder/simple_mob/metroid/passive
ai_holder_type = /datum/ai_holder/simple_mob/juvenile_metroid/passive
say_list_type = /datum/say_list/metroid
faction = "neutral"
maxHealth = 400
health = 400
melee_damage_lower = 2
melee_damage_upper = 9
move_to_delay = 6
harm_intent_damage = 1
speak_chance = 1
stop_when_pulled = 1
melee_damage_upper = 6
movement_cooldown = 6
harm_intent_damage = 3
armor = list(
"melee" = 50,
"bullet" = -90,
"laser" = 0,
"energy" = -50,
"bomb" = 70,
"bomb" = -100,
"bio" = 100,
"rad" = 100)
vore_active = 1
vore_bump_chance = 0
vore_bump_chance = 25
vore_capacity = 3
vore_icons = SA_ICON_LIVING
vore_pounce_chance = 90 //Don't punch or grab this guy. He will grab you instead!
swallowTime = 1 SECONDS //Hungry little bastards.
vore_default_mode = DM_HOLD
vore_digest_chance = 1 // Chance to switch to digest mode if resisted
vore_digest_chance = 1 //Chance to switch to digest mode if resisted
vore_absorb_chance = 0
vore_escape_chance = 10
*/
vore_escape_chance = 10 //Chance to escape if resisted.
/mob/living/simple_mob/metroid/mine
name = "Mochtroid"
@@ -88,12 +48,13 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
next = null
vore_active = 1
vore_pounce_chance = 50
vore_pounce_chance = 25
vore_icons = SA_ICON_LIVING
/mob/living/simple_mob/metroid/mine/init_vore()
..()
var/obj/belly/B = vore_selected
B.digest_burn = 1
B.digest_burn = .5
B.digest_brute = 0
@@ -102,7 +63,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
..()
if(prob(20))
visible_message("<span class='notice'>\The [src] dropped some toy!</span>")
// var/location = get_turf(src)
new /obj/item/toy/figure/bounty_hunter(loc, src)
@@ -120,7 +81,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
icon_living = "baby"
icon_state = "baby"
ai_holder_type = /datum/ai_holder/simple_mob/juvenile_metroid
speak_emote = list("churrs")
say_list_type = /datum/say_list/metroid
health = 200
maxHealth = 200
melee_damage_lower = 1
@@ -182,7 +143,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
icon_living = "metroid"
icon_state = "metroid"
ai_holder_type = /datum/ai_holder/simple_mob/juvenile_metroid
speak_emote = list("churrs")
say_list_type = /datum/say_list/metroid
health = 250
maxHealth = 250
melee_damage_lower = 2
@@ -191,7 +152,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
armor = list(
"melee" = 0,
"bullet" = -50,
"laser" = 90,
"laser" = 70,
"energy" = 10,
"bomb" = -100,
"bio" = 100,
@@ -252,7 +213,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
icon_living = "alpha"
icon_state = "alpha"
ai_holder_type = /datum/ai_holder/simple_mob/juvenile_metroid
say_list_type = /datum/say_list/metroid/gamma
say_list_type = /datum/say_list/metroid
movement_cooldown = 1
health = 300
maxHealth = 300
@@ -261,7 +222,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
melee_miss_chance = 5
attacktext = list("rammed")
armor = list(
"melee" = 50,
"melee" = 40,
"bullet" = 15,
"laser" = 50,
"energy" = 60,
@@ -325,14 +286,13 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
icon_living = "gamma"
icon_state = "gamma"
ai_holder_type = /datum/ai_holder/simple_mob/juvenile_metroid
say_list_type = /datum/say_list/metroid/gamma
movement_cooldown = 1
say_list_type = /datum/say_list/metroid
movement_cooldown = 1.5
health = 400
maxHealth = 400
melee_damage_lower = 10
melee_damage_upper = 20
melee_miss_chance = 5
ranged_attack_delay = 5 SECOND
attacktext = list("rammed")
armor = list(
"melee" = 55,
@@ -346,10 +306,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
faction = "metroids"
max_nutrition = 2200
nutrition = 0
//move_shoot = 1 //Move and shoot at the same time.
//ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
//ranged_cooldown_time = 150 //How long, in deciseconds, the cooldown of ranged attacks is
ranged_cooldown_time = 5 SECOND
projectilesound = 'sound/weapons/taser2.ogg'
projectiletype = /obj/item/projectile/beam/stun/weak
@@ -389,7 +346,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
vore_escape_chance = 30
/datum/say_list/metroid/gamma
/datum/say_list/metroid
speak = list("Skree.", "Eree.", "Errer?")
emote_see = list("floats about","looks around", "rubs its talons")
emote_hear = list("chitters")
@@ -431,7 +388,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
attacktext = list("slashed")
armor = list(
"melee" = 70,
"bullet" = 15,
"bullet" = 0,
"laser" = 50,
"energy" = 60,
"bomb" = 10,
@@ -443,11 +400,8 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
nutrition = 0
makes_dirt = TRUE
//move_shoot = 1 //Move and shoot at the same time.
//ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
//ranged_cooldown_time = 60 //How long, in deciseconds, the cooldown of ranged attacks is
// rapid = 0 // Three-round-burst fire mode //decided to disalbe for the zeta
// projectiletype = /obj/item/projectile/energy/metroidacid // The projectiles I shoot
ranged_cooldown_time = 5 SECOND
projectiletype = /obj/item/projectile/energy/metroidacid //The projectiles I shoot
projectilesound = 'sound/weapons/slashmiss.ogg' // The sound I make when I do it
@@ -531,7 +485,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
attacktext = list("slashed")
armor = list(
"melee" = 75,
"bullet" = 40,
"bullet" = 20,
"laser" = 55,
"energy" = 60,
"bomb" = 10,
@@ -542,10 +496,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
max_nutrition = 2200
nutrition = 0
makes_dirt = TRUE
//move_shoot = 1 //Move and shoot at the same time.
//ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
//ranged_cooldown_time = 150 //How long, in deciseconds, the cooldown of ranged attacks is
// rapid = 0 // Three-round-burst fire mode
ranged_cooldown_time = 2.5 SECOND
projectiletype = /obj/item/projectile/beam/smalllaser // The projectiles I shoot
projectilesound = 'sound/weapons/Flamer.ogg' // The sound I make when I do it
@@ -627,7 +578,6 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
melee_damage_lower = 30
melee_damage_upper = 60
melee_miss_chance = 5
ranged_attack_delay = 1 SECOND
attack_armor_pen = 20
attacktext = list("gnashed")
armor = list(
@@ -643,10 +593,7 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
max_nutrition = 2200
nutrition = 0
makes_dirt = TRUE
//move_shoot = 1 //Move and shoot at the same time.
//ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
//ranged_cooldown_time = 120 //How long, in deciseconds, the cooldown of ranged attacks is
// rapid = 1 // Three-round-burst fire mode
ranged_cooldown_time = 1 SECOND
projectiletype = /obj/item/projectile/energy/metroidacid // The projectiles I shoot
projectilesound = 'sound/weapons/slashmiss.ogg' // The sound I make when I do it