Merge pull request #878 from CHOMPStation2/Metroid1.0

Metroid 1.0
This commit is contained in:
Razgriz
2020-11-21 20:53:32 -07:00
committed by GitHub
4 changed files with 43 additions and 94 deletions

View File

@@ -53,14 +53,17 @@
vore_pounce_chance = 25
vore_icons = SA_ICON_LIVING
nutrition = 1000 //This actually gets overridden further down on initialize.
max_nutrition = 2200
nutrition = 0
var/evo_point = 0
var/evo_limit = 0
var/next
meat_type = /obj/item/toy/figure/bounty_hunter
/mob/living/simple_mob/metroid/Initialize()
nutrition = 100 //Have them start off pretty hungry still
return ..()
/datum/say_list/metroid
speak = list("Skree.", "Eree.", "Errer?")
emote_see = list("floats about","looks around", "rubs its talons")

View File

@@ -65,7 +65,7 @@
return
if(nutrition >= evo_point && !buckled && vore_fullness == 0 && !victim)
if(next == "/mob/living/simple_mob/metroid/juvenile/queen" && queen_amount > 0)
if(next == "/mob/living/simple_mob/metroid/juvenile/queen" && GLOB.queen_amount > 0)
to_chat(src, span("warning", "There is already a queen."))
return
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)

View File

@@ -39,4 +39,4 @@
amount_grown += rand(0,2)
if(amount_grown >= 100)
new metroid_type(src.loc, src)
qdel(src)
qdel(src)

View File

@@ -1,81 +1,41 @@
var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
GLOBAL_VAR_INIT(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 = 0.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")
@@ -426,12 +383,12 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
melee_damage_lower = 15
melee_damage_upper = 25
melee_miss_chance = 5
ranged_attack_delay = 2 SECOND
ranged_cooldown_time = 5 SECOND
attack_armor_pen = 10
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
projectiletype = /obj/item/projectile/energy/metroidacid //The projectiles I shoot
projectilesound = 'sound/weapons/slashmiss.ogg' // The sound I make when I do it
@@ -526,12 +480,12 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
melee_damage_lower = 25
melee_damage_upper = 40
melee_miss_chance = 5
ranged_attack_delay = 5 SECOND
ranged_cooldown_time = 2.5 SECOND
attack_armor_pen = 20
attacktext = list("slashed")
armor = list(
"melee" = 75,
"bullet" = 40,
"bullet" = 20,
"laser" = 55,
"energy" = 60,
"bomb" = 10,
@@ -542,10 +496,6 @@ 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
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 +577,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 +592,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.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
@@ -673,12 +619,12 @@ var/global/list/queen_amount = 0 //We only gonna want 1 queen in the world.
/mob/living/simple_mob/metroid/juvenile/queen/Initialize()
playsound(src, 'sound/metroid/metroidqueen.ogg', 100, 1)
queen_amount++
GLOB.queen_amount++
..()
/mob/living/simple_mob/metroid/juvenile/queen/death()
playsound(src, 'sound/metroid/metroidqueendeath.ogg', 100, 1)
queen_amount--
GLOB.queen_amount--
..()
/mob/living/simple_mob/metroid/juvenile/queen //active noms