Merge branch 'master' into NUMBING_BITE_V2

This commit is contained in:
Cameron653
2017-09-13 16:16:37 -04:00
committed by GitHub
45 changed files with 887 additions and 190 deletions
@@ -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."
)
+3
View File
@@ -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 dont 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"