mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-26 06:40:08 +01:00
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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user