mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-20 19:44:46 +01:00
Merge branch 'master' into NUMBING_BITE_V2
This commit is contained in:
@@ -312,6 +312,7 @@
|
||||
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_pickup_size",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_step_size",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"nif_examine",args) //VOREStation Code
|
||||
|
||||
if(mSmallsize in mutations)
|
||||
msg += "[T.He] [T.is] small halfling!\n"
|
||||
|
||||
@@ -152,4 +152,12 @@
|
||||
var/message = ""
|
||||
if((H.get_effective_size() - src.get_effective_size()) >= 0.75)
|
||||
message = "<font color='red'>They are small enough that you could easily trample them!</font>\n"
|
||||
return message
|
||||
return message
|
||||
|
||||
/mob/living/carbon/human/proc/nif_examine(mob/living/carbon/human/H)
|
||||
var/message = ""
|
||||
if(!H.nif || H.conceal_nif || !H.nif_examine) //Do they have a nif, do they have the NIF concealed, and do they have a NIF examine message?
|
||||
return "" //If so, no message.
|
||||
else
|
||||
message += "[H.nif_examine]\n"
|
||||
return message
|
||||
@@ -1,13 +1,13 @@
|
||||
/datum/species/shapeshifter/promethean
|
||||
min_age = 18
|
||||
max_age = 80
|
||||
valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey","Sergal","Akula","Nevrean","Highlander Zorren","Flatland Zorren", "Vulpkanin", "Vasilissan", "Neaera", "Stok", "Farwa", "Sobaka", "Wolpin", "Saru", "Sparra")
|
||||
valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey","Sergal","Akula","Nevrean","Highlander Zorren","Flatland Zorren", "Vulpkanin", "Vasilissan", "Rapala", "Neaera", "Stok", "Farwa", "Sobaka", "Wolpin", "Saru", "Sparra")
|
||||
heal_rate = 0.2 //They heal .2, along with the natural .2 heal per tick when below the organ natural heal damage threshhold.
|
||||
siemens_coefficient = 1 //Prevents them from being immune to tasers and stun weapons.
|
||||
death_message = "goes limp, their body becoming softer..."
|
||||
color_mult = 1
|
||||
mob_size = MOB_MEDIUM
|
||||
num_alternate_languages = 1 //Let's at least give them one
|
||||
|
||||
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | RADIATION_GLOWS | HAS_UNDERWEAR
|
||||
/datum/species/shapeshifter/promethean/handle_death(var/mob/living/carbon/human/H)
|
||||
return //This nullifies them gibbing.
|
||||
|
||||
@@ -331,3 +331,40 @@
|
||||
gluttonous = 0
|
||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
|
||||
min_age = 18
|
||||
|
||||
datum/species/harpy
|
||||
name = "Rapala"
|
||||
name_plural = "Rapalans"
|
||||
icobase = 'icons/mob/human_races/r_harpy_vr.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_harpy_vr.dmi'
|
||||
tail = "tail"
|
||||
icobase_tail = 1
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite)
|
||||
num_alternate_languages = 3
|
||||
secondary_langs = list(LANGUAGE_BIRDSONG)
|
||||
name_language = null
|
||||
color_mult = 1
|
||||
|
||||
min_age = 18
|
||||
max_age = 80
|
||||
|
||||
blurb = "An Avian species, coming from a distant planet, the Rapalas are the very proud race.\
|
||||
Sol researchers have commented on them having a very close resemblance to the mythical race called 'Harpies',\
|
||||
who are known for having massive winged arms and talons as feet. They've been clocked at speeds of over 35 miler per hour chasing the planet's many fish-like fauna.\
|
||||
The Rapalan's home-world 'Verita' is a strangely habitable gas giant, while no physical earth exists, there are fertile floating islands orbiting around the planet from past asteroid activity."
|
||||
|
||||
//primitive_form = "Saru"
|
||||
|
||||
spawn_flags = SPECIES_CAN_JOIN
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
|
||||
|
||||
//flesh_color = "#AFA59E"
|
||||
//base_color = "#777777"
|
||||
//tail_hair = "feathers"
|
||||
//reagent_tag = IS_SERGAL
|
||||
|
||||
heat_discomfort_strings = list(
|
||||
"Your feathers prickle in the heat.",
|
||||
"You feel uncomfortably warm.",
|
||||
"Your overheated skin itches."
|
||||
)
|
||||
|
||||
@@ -779,6 +779,9 @@ default behaviour is:
|
||||
spawn() C.mob_breakout(src)
|
||||
return TRUE
|
||||
|
||||
if(istype(loc,/obj/item/clothing))
|
||||
spawn() escape_clothes(loc)
|
||||
|
||||
if(attempt_vr(src,"vore_process_resist",args)) return TRUE //VOREStation Code
|
||||
|
||||
/mob/living/proc/escape_inventory(obj/item/weapon/holder/H)
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
A work in progress, lore will go here later.
|
||||
List of things solar grubs should be able to do:
|
||||
|
||||
2. have three stages of growth depending on time. (Or energy drained altho that seems like a hard one to code)
|
||||
3. be capable of eating people that get knocked out. (also be able to shock attackers that don’t wear insulated gloves.)
|
||||
5. ((potentially use digested people to reproduce))
|
||||
6. add glow?
|
||||
*/
|
||||
|
||||
#define SINK_POWER 1
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub
|
||||
name = "juvenile solargrub"
|
||||
desc = "A young sparkling solargrub"
|
||||
icon = 'icons/mob/vore.dmi' //all of these are placeholders
|
||||
icon_state = "solargrub"
|
||||
icon_living = "solargrub"
|
||||
icon_dead = "solargrub-dead"
|
||||
|
||||
faction = "grubs"
|
||||
maxHealth = 250 //grubs can take a lot of harm
|
||||
health = 250
|
||||
move_to_delay = 5
|
||||
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 5
|
||||
|
||||
speak_chance = 1
|
||||
emote_see = list("squelches", "squishes")
|
||||
|
||||
speed = 2
|
||||
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat
|
||||
|
||||
response_help = "pokes"
|
||||
response_disarm = "pushes"
|
||||
response_harm = "roughly pushes"
|
||||
|
||||
// solar grubs are not affected by atmos
|
||||
min_oxy = 0
|
||||
max_oxy = 0
|
||||
min_tox = 0
|
||||
max_tox = 0
|
||||
min_co2 = 0
|
||||
max_co2 = 0
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
|
||||
resistances = list(
|
||||
HALLOSS = 0,
|
||||
BRUTE = 1,
|
||||
BURN = 0.1,
|
||||
TOX = 0,
|
||||
OXY = 0,
|
||||
CLONE = 0
|
||||
)
|
||||
|
||||
var/poison_per_bite = 5 //grubs cause a shock when they bite someone
|
||||
var/poison_type = "shockchem"
|
||||
var/poison_chance = 100
|
||||
var/datum/powernet/PN // Our powernet
|
||||
var/obj/structure/cable/attached // the attached cable
|
||||
|
||||
/mob/living/simple_animal/relatiate/solargrub/PunchTarget()
|
||||
var/mob/living/carbon/human/grubfood = target_mob
|
||||
for(var/obj/O in grubfood)
|
||||
O.emp_act(3)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub/Life()
|
||||
. = ..()
|
||||
if(!. || ai_inactive) return
|
||||
|
||||
if(stance == STANCE_IDLE)
|
||||
//first, check for potential cables nearby to powersink
|
||||
var/turf/S = loc
|
||||
attached = locate() in S
|
||||
if(attached)
|
||||
if(prob(2))
|
||||
src.visible_message("<span class='notice'>\The [src] begins to sink power from the net.</span>")
|
||||
anchored = 1
|
||||
PN = attached.powernet
|
||||
PN.draw_power(150000)
|
||||
var/apc_drain_rate = 4000 //5000 seems a bit high, knocking it down to 4000
|
||||
for(var/obj/machinery/power/terminal/T in PN.nodes)
|
||||
if(istype(T.master, /obj/machinery/power/apc))
|
||||
var/obj/machinery/power/apc/A = T.master
|
||||
if(A.operating && A.cell)
|
||||
var/cur_charge = A.cell.charge / CELLRATE
|
||||
var/drain_val = min(apc_drain_rate, cur_charge)
|
||||
A.cell.use(drain_val * CELLRATE)
|
||||
else if(!attached && anchored)
|
||||
anchored = 0
|
||||
PN = null
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub //active noms
|
||||
vore_active = 1
|
||||
vore_capacity = 1
|
||||
vore_pounce_chance = 0 //grubs only eat incapacitated targets
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub/PunchTarget()
|
||||
. = ..()
|
||||
if(isliving(.))
|
||||
var/mob/living/L = .
|
||||
if(L.reagents)
|
||||
L.reagents.add_reagent(poison_type, poison_per_bite)
|
||||
if(prob(poison_chance))
|
||||
L << "<span class='warning'>You feel a shock rushing through your veins.</span>"
|
||||
L.reagents.add_reagent(poison_type, poison_per_bite)
|
||||
|
||||
/mob/living/simple_animal/retaliate/solargrub/death()
|
||||
src.anchored = 0
|
||||
..()
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
/datum/sprite_accessory/hair
|
||||
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan") //This lets all races use the default hairstyles.
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Rapala") //This lets all races use the default hairstyles.
|
||||
|
||||
sergal_plain
|
||||
name = "Sergal Plain"
|
||||
@@ -41,13 +41,13 @@
|
||||
name = "Bald"
|
||||
icon_state = "bald"
|
||||
gender = MALE
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Xenochimera") //Lets all the races be bald if they want.
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Xenochimera", "Rapala") //Lets all the races be bald if they want.
|
||||
|
||||
ponytail6_fixed //Eggnerd's done with waiting for upstream fixes lmao.
|
||||
name = "Ponytail 6 but fixed"
|
||||
icon = 'icons/mob/human_face_vr.dmi'
|
||||
icon_state = "hair_ponytail6"
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid")
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Rapala")
|
||||
|
||||
una_hood
|
||||
name = "Cobra Hood"
|
||||
@@ -333,7 +333,7 @@
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/facial_hair
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan") //This lets all races use the facial hair styles.
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Rapala") //This lets all races use the facial hair styles.
|
||||
|
||||
|
||||
vulp_none
|
||||
@@ -675,6 +675,18 @@
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND)
|
||||
|
||||
harpy_feathers
|
||||
name = "Rapala leg Feather"
|
||||
icon_state = "harpy-feathers"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_R_LEG)
|
||||
|
||||
harpy_legs
|
||||
name = "Rapala leg coloring"
|
||||
icon_state = "harpy-leg"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG)
|
||||
|
||||
alurane
|
||||
name = "Alurane Body"
|
||||
icon_state = "alurane"
|
||||
|
||||
Reference in New Issue
Block a user