Merge branch 'master' of https://github.com/CHOMPstation/CHOMPstation into CHOMPstation-master

This commit is contained in:
TheFurryFeline
2019-04-18 20:32:39 -04:00
38 changed files with 553 additions and 261 deletions
+16 -3
View File
@@ -1117,7 +1117,8 @@
else
usr << "<span class='warning'>You failed to check the pulse. Try again.</span>"
/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/regen_icons = TRUE)
//TFF 14/4/19: Port VoreStation TF fix
/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/regen_icons = TRUE, var/mob/living/carbon/human/example = null) //VOREStation Edit - send an example
if(!dna)
if(!new_species)
@@ -1152,7 +1153,16 @@
if(species.default_language)
add_language(species.default_language)
if(species.base_color) //VOREStation Edit - Always give them a basse color
//TFF 14/4/19: Port VoreStation TF fix
//if(species.icon_scale != 1) //VOREStation Removal
// update_transform() //VOREStation Removal
if(example) //VOREStation Edit begin
if(!(example == src))
r_skin = example.r_skin
g_skin = example.g_skin
b_skin = example.b_skin
else if(species.base_color) //VOREStation Edit end
//Apply colour.
r_skin = hex2num(copytext(species.base_color,2,4))
g_skin = hex2num(copytext(species.base_color,4,6))
@@ -1169,10 +1179,13 @@
gender = species.genders[1]
//icon_state = lowertext(species.name) //Necessary?
//TFF 14/4/19: Port VoreStation TF fix
//VOREStation Edit start: swap places of those two procs
species.handle_post_spawn(src)
species.create_organs(src)
species.handle_post_spawn(src)
maxHealth = species.total_health
@@ -340,6 +340,10 @@
H.visible_message( \
"<span class='notice'>[H] shakes [target]'s hand.</span>", \
"<span class='notice'>You shake [target]'s hand.</span>", )
else if(H.zone_sel.selecting == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon
H.visible_message( \
"<span class='notice'>[H] boops [target]'s nose.</span>", \
"<span class='notice'>You boop [target] on the nose.</span>", )
else H.visible_message("<span class='notice'>[H] hugs [target] to make [t_him] feel better!</span>", \
"<span class='notice'>You hug [target] to make [t_him] feel better!</span>") //End VOREStation Edit
@@ -615,6 +615,7 @@
radio.attackby(W,user)//GTFO, you have your own procs
else
user << "Unable to locate a radio."
//TFF 14/4/19: Port VoreStation edit - Wallet/Micro usage to unlock borgs.
else if (W.GetID()) // trying to unlock the interface with an ID card
if(emagged)//still allow them to open the cover
@@ -698,6 +699,7 @@
return 1
return 0
//TFF 14/4/19: Port VoreStation edit - wallet/micro usage to unlock borgs
/mob/living/silicon/robot/proc/check_access(obj/item/I)
if(!istype(req_access, /list)) //something's very wrong
return 1
@@ -2,10 +2,10 @@
name = "minetroid"
desc = "Some sort of person eaty thing!"
tt_desc = "Headamus Suckumus"
icon = 'icons/mob/vore.dmi'
icon = 'icons/mob/metroid/small.dmi'
icon_dead = "metroid_dead"
icon_living = "mochtroid"
icon_state = "mochtroid"
icon_living = "metroid"
icon_state = "metroid"
faction = "metroids"
intelligence_level = SA_ANIMAL
hovering = TRUE
@@ -70,8 +70,8 @@
name = "Mochtroid"
desc = "Some sort of person eaty thing! But weak compared to regular Metroids!"
tt_desc = "Headamus Suckumus Weakamus"
icon = 'icons/mob/vore.dmi'
icon_dead = "mochtroid_dead"
icon = 'icons/mob/metroid/small.dmi'
icon_dead = "metroid_dead"
icon_living = "mochtroid"
icon_state = "mochtroid"
@@ -230,7 +230,7 @@
melee_miss_chance = 5
gender = NEUTER
faction = "metroids"
//Alphas lose their vulnerability to cold.
minbodytemp = 0
min_oxy = 0
@@ -277,8 +277,7 @@
//------------------------------------------------------------------------------------------------------------
/*
//------------------------------------------------------------------------------------------------------------
/mob/living/simple_animal/hostile/metroid/combat/gamma
@@ -297,10 +296,15 @@
melee_miss_chance = 5
gender = NEUTER
faction = "metroids"
ranged = 1
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
projectilesound = 'sound/weapons/taser2.ogg'
projectiletype = /obj/item/projectile/beam/stun/weak
firing_lines = 1
cooperative = 1
//Not affected by atmos.
minbodytemp = 0
@@ -356,18 +360,25 @@
name = "zeta metroid"
desc = "Some kind of feet stompy thing!"
tt_desc = "Minimus Feetamus Walkamus"
icon = 'icons/mob/metroid/medium.dmi'
icon = 'icons/mob/metroid/small.dmi'
icon_dead = "zeta_dead"
icon_living = "zeta"
icon_state = "zeta"
intelligence_level = SA_ANIMAL
health = 375
maxHealth = 375
health = 350
maxHealth = 350
melee_damage_lower = 15
melee_damage_upper = 25
melee_miss_chance = 5
gender = NEUTER
faction = "metroids"
move_shoot = 1 //Move and shoot at the same time.
ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
ranged_cooldown_time = 15 //How long, in deciseconds, the cooldown of ranged attacks is
rapid = 1 // Three-round-burst fire mode
projectiletype = /obj/item/projectile/energy/piranhaspit // The projectiles I shoot
projectilesound = 'sound/weapons/thudswoosh.ogg' // The sound I make when I do it
//Unaffected by atmos.
minbodytemp = 0
@@ -395,7 +406,7 @@
cooperative = 1
evo_point = 1600
evo_limit = 1800
next = "/mob/living/simple_animal/hostile/metroid/combat/omega"
next = "/mob/living/simple_animal/hostile/metroid/bosses/omega"
/mob/living/simple_animal/hostile/metroid/combat/zeta/death()
@@ -419,22 +430,29 @@
/mob/living/simple_animal/hostile/metroid/combat/omega
/mob/living/simple_animal/hostile/metroid/bosses/omega
name = "omega metroid"
desc = "Some kind of head rammy thing!"
tt_desc = "Maximus Feetamus Walkamus"
icon = 'icons/mob/metroid/large.dmi'
icon = 'icons/mob/metroid/small.dmi'
icon_dead = "omega_dead"
icon_living = "omega"
icon_state = "omega"
intelligence_level = SA_ANIMAL
health = 550
maxHealth = 550
health = 500
maxHealth = 500
melee_damage_lower = 25
melee_damage_upper = 40
melee_miss_chance = 5
gender = NEUTER
faction = "metroids"
move_shoot = 1 //Move and shoot at the same time.
ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
ranged_cooldown_time = 15 //How long, in deciseconds, the cooldown of ranged attacks is
rapid = 1 // Three-round-burst fire mode
projectiletype = /obj/item/projectile/energy/piranhaspit // The projectiles I shoot
projectilesound = 'sound/weapons/thudswoosh.ogg' // The sound I make when I do it
//Unaffected by atmos.
minbodytemp = 0
@@ -462,15 +480,15 @@
cooperative = 1
evo_point = 2600
evo_limit = 3000
next = "/mob/living/simple_animal/hostile/metroid/combat/queen"
next = "/mob/living/simple_animal/hostile/metroid/bosses/queen"
/mob/living/simple_animal/hostile/metroid/combat/omega/death()
/mob/living/simple_animal/hostile/metroid/bosses/omega/death()
playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1)
..()
/mob/living/simple_animal/hostile/metroid/combat/omega //active noms
/mob/living/simple_animal/hostile/metroid/bosses/omega //active noms
vore_active = 1
vore_bump_chance = 0
vore_capacity = 2
@@ -486,23 +504,30 @@
/mob/living/simple_animal/hostile/metroid/combat/queen
/mob/living/simple_animal/hostile/metroid/bosses/queen
name = "queen metroid"
desc = "The mother of all Metroids, allowed to have grown too far!"
tt_desc = "Maximus Queenamus Deathamus"
icon = 'icons/mob/metroid/large.dmi'
icon = 'icons/mob/metroid/small.dmi'
icon_dead = "queen_dead"
icon_living = "queen"
icon_state = "queen"
intelligence_level = SA_ANIMAL
health = 1000
maxHealth = 1000
health = 575
maxHealth = 575
melee_damage_lower = 30
melee_damage_upper = 60
melee_miss_chance = 5
gender = NEUTER
faction = "metroids"
speed = 3
speed = 5
move_shoot = 1 //Move and shoot at the same time.
ranged_cooldown = 0 //What the starting cooldown is on ranged attacks
ranged_cooldown_time = 15 //How long, in deciseconds, the cooldown of ranged attacks is
rapid = 1 // Three-round-burst fire mode
projectiletype = /obj/item/projectile/energy/piranhaspit // The projectiles I shoot
projectilesound = 'sound/weapons/thudswoosh.ogg' // The sound I make when I do it
//Unaffected by atmos.
minbodytemp = 0
@@ -533,16 +558,12 @@
next = "/mob/living/simple_animal/hostile/metroid/evolution/super"
var/list/queen_amount = list() //global queen list
/mob/living/simple_animal/hostile/metroid/combat/queen/New()
queen_amount += src
/mob/living/simple_animal/hostile/metroid/combat/queen/death()
/mob/living/simple_animal/hostile/metroid/bosses/queen/death()
playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1)
..()
/mob/living/simple_animal/hostile/metroid/combat/queen //active noms
/mob/living/simple_animal/hostile/metroid/bosses/queen //active noms
vore_active = 1
vore_bump_chance = 0
vore_capacity = 4
@@ -552,7 +573,14 @@ var/list/queen_amount = list() //global queen list
swallowTime = 3 SECONDS
*/
//LIFE STUFF, AND MECHANICS!
//FOR THE BABY AND SUPER FORMS!
@@ -572,7 +600,7 @@ var/list/queen_amount = list() //global queen list
expand_troid()
return
/mob/living/simple_animal/hostile/metroid/evolution/proc/expand_troid()
/mob/living/simple_animal/hostile/metroid/proc/expand_troid()
visible_message("<span class='warning'>\The [src] suddenly evolves!</span>")
new next(get_turf(src))
qdel(src)
@@ -859,25 +887,37 @@ var/list/queen_amount = list() //global queen list
paralysis = 0
expand_troid()
return
/*
/mob/living/simple_animal/hostile/metroid/combat/omega/Life()
if(prob(5) && canEvolve == 1 && nutrition >= evo_point && queen_amount >= 1)
/proc/metroid_queen_exists(var/ignore_self,var/mob/living/simple_animal/hostile/metroid/bosses/queen/self)
for(var/mob/living/simple_animal/hostile/metroid/bosses/queen in living_mob_list)
if(self && ignore_self && self == queen)
continue
if(!queen.key || !queen.client || queen.stat)
continue
return 1
return 0
/mob/living/simple_animal/hostile/metroid/bosses/omega/Life()
if(metroid_queen_exists())
src << "<span class='notice'>We already have an active queen.</span>"
return
if(!metroid_queen_exists() && prob(5) && canEvolve == 1 && nutrition >= evo_point)
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)
expand_troid()
return
*/
/mob/living/simple_animal/hostile/metroid/combat/queen/Life()
/mob/living/simple_animal/hostile/metroid/bosses/queen/Life()
if(canEvolve == 1 && nutrition >= evo_point)
playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1)
birth_troid()
return
/mob/living/simple_animal/hostile/metroid/combat/proc/expand_troid()
visible_message("<span class='warning'>\The [src] suddenly evolves!</span>")
new next(get_turf(src))
qdel(src)
/mob/living/simple_animal/hostile/metroid/combat/queen/proc/birth_troid()
/mob/living/simple_animal/hostile/metroid/proc/birth_troid()
visible_message("<span class='warning'>\A nesting Metroid suddenly bursts out of of the [src]!</span>")
new next(get_turf(src))
@@ -939,4 +979,4 @@ var/list/queen_amount = list() //global queen list
/mob/living/simple_animal/hostile/metroid/combat/ClosestDistance()
if(target_mob.stat == DEAD)
return 1 // Melee (eat) the target if dead, don't shoot it. //I don't think it actually eats the target. Maybe it does?
return ..()
return ..()
+6
View File
@@ -323,6 +323,12 @@
move_delay += 2
return mob.buckled.relaymove(mob,direct)
if(waddleToggle)
if(!mob.buckled)
animate(mob, pixel_z = 4, time = 0)
animate(pixel_z = 0, transform = turn(matrix(), pick(-12, 0, 12)), time=2)
animate(pixel_z = 0, transform = matrix(), time = 0)
//We are now going to move
moving = 1
//Something with pulling things