From 26167a6fdff7f47d82b13b45854aaf0f0d044473 Mon Sep 17 00:00:00 2001 From: Duck- Date: Tue, 30 Dec 2014 06:48:55 -0500 Subject: [PATCH] vaurca framework missing: language, flash weakness, sprites, custom organs? //might steal xenomorph organs i don't know thoughts on race: some good strengths but more easily exploitable weaknesses than any race i've ever seen. fireloss *2, emp death, intended flash weakness far outweigh the strengths they currently have and they are going to get lasered instantly in like every conflict it's going to be awful ughghm thoughts behind decisions so far: bugs are insulated because seriously they take 2x fireloss any shock at all is going to instacrit them and a nonconductive space exoskeleton kind of makes sense. their bite verb is nice. i'm not going to say it's not nice. but it requires a strong grab, which requires a stun or someone stupid. you can easily do more damage with a 15 force weapon and about on par with a 10-force, i'm pretty sure. this is mostly for style really. final opinion: any race that takes 2x burn is always going to be underpowered given how common lasers are. plus a welding tool is like an esword on them. that alone would be a significant drawback. coupled with emp-death (all their inner organs are mechanic so they will get fried almost 100% of the time) and also the weak eyes thing is a little much maybe. oh, and they're slow. strengths: insulation, no hardsuit, reduced brute, radiation resistance, bite verb. hardsuits common to all departments; usually decent armor values anyway. insulated gloves easily gotten or worked around by anyone willing to powergame even a little bit; not big deal. rad res rare. brute res outstripped by burn mod. bite verb nice but impossible to use unless you've stunned someone already in which case you could've won any other way. --- .../mob/living/carbon/human/human_powers.dm | 39 ++++++++++++++++- code/modules/mob/living/carbon/human/life.dm | 4 +- .../mob/living/carbon/human/species.dm | 43 +++++++++++++++++++ code/setup.dm | 2 +- data/investigate/gravity.html | 12 +++--- 5 files changed, 90 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 30ac3824..faec80e8 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -218,4 +218,41 @@ log_say("PsychicWhisper: [key_name(src)]->[M.key] : [msg]") M << "\green You hear a strange, alien voice in your head... \italic [msg]" src << "\green You said: \"[msg]\" to [M]" - return \ No newline at end of file + return + +/mob/living/carbon/human/proc/bugbite() + set category = "Abilities" + set name = "Bite" + set desc = "While grabbing someone aggressively, tear into them with your mandibles." + + if(last_special > world.time) + return + + if(stat || paralysis || stunned || weakened || lying) + src << "\red You cannot do that in your current state." + return + + var/obj/item/weapon/grab/G = locate() in src + if(!G || !istype(G)) + src << "\red You are not grabbing anyone." + return + + if(G.state < GRAB_AGGRESSIVE) + src << "\red You must have an aggressive grab to gut your prey!" + return + + last_special = world.time + 50 + + visible_message("\The [src] rips viciously at \the [G.affecting]'s flesh with its mandibles!") + + if(istype(G.affecting,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = G.affecting + H.apply_damage(30,BRUTE) +// if(H.stat == 2) //no gibbing humans but i'll let you gib like a mouse or something that's cool +// H.gib() + else + var/mob/living/M = G.affecting + if(!istype(M)) return //wut + M.apply_damage(30,BRUTE) + if(M.stat == 2) + M.gib() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index d4a92515..e9accbc7 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -271,8 +271,8 @@ proc/handle_mutations_and_radiation() - if(species.flags & IS_SYNTHETIC) //Robots don't suffer from mutations or radloss. - return + if(species.flags & IS_SYNTHETIC || species.flags & IS_BUG) //Robots don't suffer from mutations or radloss. + return //neither do bugs. bugs are cool. if(getFireLoss()) if((COLD_RESISTANCE in mutations) || (prob(1))) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index cbe16637..16f1c68a 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -144,6 +144,10 @@ for(var/datum/organ/internal/I in H.internal_organs) I.mechanize() + if(flags & IS_BUG) + for(var/datum/organ/internal/I in H.internal_organs) + I.mechanize() + /datum/species/proc/hug(var/mob/living/carbon/human/H,var/mob/living/target) var/t_him = "them" @@ -473,6 +477,45 @@ "brain" = /datum/organ/internal/brain, ) +/datum/species/bug + name = "Vaurca" + name_plural = "varucae" + + icobase = 'icons/mob/human_races/r_machine.dmi' //placeholders + deform = 'icons/mob/human_races/r_machine.dmi' //bloop blop butts + language = "Tradeband" //placeholders //vaurcese, :p to speak. no support on language side yet + unarmed_type = /datum/unarmed_attack/claws //literally butts + secondary_unarmed_type = /datum/unarmed_attack/bite/strong + rarity_value = 2 //according to the code this does nothing but upset me so i guess it can stay + slowdown = 1 //slow + darksight = 666 //good at seeing + eyes = "blank_eyes" //made out of butts + brute_mod = 0.5 //note to self: remove is_synthetic checks for brmod and burnmod + burn_mod = 2 //bugs on fire + insulated = 1 //because tough feet for glass resistance and also nonconductive exoskeleton. they take 2x fire it's fair okay + //they will die from EMPs because their organs are mechanized in a proc up top. ctrl+f is_bug and it'll take you there. + warning_low_pressure = 50 //the spacewalks are real + hazard_low_pressure = 0 + + cold_level_1 = 50 + cold_level_2 = -1 + cold_level_3 = -1 + + heat_level_1 = 330 //Default 360 + heat_level_2 = 380 //Default 400 + heat_level_3 = 600 //Default 1000 //bugs do not like fire because exoskeletons are poor ventilation + + flags = IS_WHITELISTED | NO_SLIP | IS_BUG //IS_BUG doesn't do much at the moment. proc up top + radiation resistance. + //use IS_BUG when you do the make their eyes die from being flashed thing, sounds/skull. okay thanks. + blood_color = "#1F181F" // note: discover hex for yellow + flesh_color = "#575757" //this is a placeholder also. + + inherent_verbs = list( + /mob/living/carbon/human/proc/bugbite //weaker version of gut. can't gib hums, dam/time outstripped lots by melee weapons + ) + + //make has_organ list when we can be bothered with bug gut sprites. it'll be cool, i promise + // Called when using the shredding behavior. /datum/species/proc/can_shred(var/mob/living/carbon/human/H) diff --git a/code/setup.dm b/code/setup.dm index 07943229..7f484eed 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -754,7 +754,7 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse #define IS_PLANT 1024 #define IS_WHITELISTED 2048 -#define RAD_ABSORB 4096 +#define IS_BUG 4096 //formerly RAD_ABSORB, old tag no longer used in new speciescode require_light below isn't used either. #define REQUIRE_LIGHT 8192 #define IS_SYNTHETIC 16384 diff --git a/data/investigate/gravity.html b/data/investigate/gravity.html index 07be59af..359e2093 100644 --- a/data/investigate/gravity.html +++ b/data/investigate/gravity.html @@ -1,6 +1,6 @@ -17:52 [0x20078f9] (92,152,1) || the gravitational generator has regained power.
-17:52 [0x20078f9] (92,152,1) || the gravitational generator is now charging.
-17:54 [0x20078f9] (92,152,1) || the gravitational generator has regained power.
-17:54 [0x20078f9] (92,152,1) || the gravitational generator is now charging.
-17:54 [0x20078f9] (92,152,1) || the gravitational generator has regained power.
-17:54 [0x20078f9] (92,152,1) || the gravitational generator is now charging.
+04:09 [0x20078fb] (92,152,1) || the gravitational generator has regained power.
+04:09 [0x20078fb] (92,152,1) || the gravitational generator is now charging.
+04:10 [0x20078fb] (92,152,1) || the gravitational generator has regained power.
+04:10 [0x20078fb] (92,152,1) || the gravitational generator is now charging.
+04:10 [0x20078fb] (92,152,1) || the gravitational generator has regained power.
+04:10 [0x20078fb] (92,152,1) || the gravitational generator is now charging.