Added the Resomi.

This commit is contained in:
Zuhayr
2015-09-04 08:57:03 +09:30
parent cae57f022e
commit a41ce0bd93
37 changed files with 191 additions and 28 deletions
+2
View File
@@ -1293,6 +1293,7 @@
#include "code\modules\mob\living\carbon\human\species\outsider\vox.dm"
#include "code\modules\mob\living\carbon\human\species\station\golem.dm"
#include "code\modules\mob\living\carbon\human\species\station\monkey.dm"
#include "code\modules\mob\living\carbon\human\species\station\resomi.dm"
#include "code\modules\mob\living\carbon\human\species\station\slime.dm"
#include "code\modules\mob\living\carbon\human\species\station\station.dm"
#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_embryo.dm"
@@ -1448,6 +1449,7 @@
#include "code\modules\organs\wound.dm"
#include "code\modules\organs\subtypes\diona.dm"
#include "code\modules\organs\subtypes\machine.dm"
#include "code\modules\organs\subtypes\resomi.dm"
#include "code\modules\organs\subtypes\standard.dm"
#include "code\modules\organs\subtypes\unbreakable.dm"
#include "code\modules\organs\subtypes\xenos.dm"
+1
View File
@@ -20,6 +20,7 @@
#define HAS_LIPS 0x4 // Lips are drawn onto the mob icon. (lipstick)
#define HAS_UNDERWEAR 0x8 // Underwear is drawn onto the mob icon.
#define HAS_EYE_COLOR 0x10 // Eye colour selectable in chargen. (RGB)
#define HAS_HAIR_COLOR 0x20 // Hair colour selectable in chargen. (RGB)
// Languages.
#define LANGUAGE_SOL_COMMON "Sol Common"
+1
View File
@@ -174,6 +174,7 @@
w_class = 3.0
origin_tech = list(TECH_MATERIAL = 1)
var/breakouttime = 300 //Deciseconds = 30s = 0.5 minute
sprite_sheets = list("Resomi" = 'icons/mob/species/resomi/handcuffs.dmi')
/obj/item/weapon/caution
desc = "Caution! Wet Floor!"
@@ -11,6 +11,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
item_state = "electronic"
w_class = 2.0
slot_flags = SLOT_ID | SLOT_BELT
sprite_sheets = list("Resomi" = 'icons/mob/species/resomi/id.dmi')
//Main variables
var/owner = null
@@ -17,6 +17,8 @@
var/ks1type = /obj/item/device/encryptionkey
var/ks2type = null
sprite_sheets = list("Resomi" = 'icons/mob/species/resomi/ears.dmi')
/obj/item/device/radio/headset/New()
..()
internal_channels.Cut()
@@ -93,6 +93,11 @@
desc = "A card used to provide ID and determine access across the station."
icon_state = "id"
item_state = "card-id"
sprite_sheets = list(
"Resomi" = 'icons/mob/species/resomi/id.dmi'
)
var/access = list()
var/registered_name = "Unknown" // The name registered_name on the card
slot_flags = SLOT_ID
@@ -16,6 +16,7 @@
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
var/cuff_sound = 'sound/weapons/handcuffs.ogg'
var/cuff_type = "handcuffs"
sprite_sheets = list("Resomi" = 'icons/mob/species/resomi/handcuffs.dmi')
/obj/item/weapon/handcuffs/attack(var/mob/living/carbon/C, var/mob/living/user)
@@ -17,6 +17,9 @@
slot_l_hand_str = "backpack",
slot_r_hand_str = "backpack",
)
sprite_sheets = list(
"Resomi" = 'icons/mob/species/resomi/back.dmi'
)
w_class = 4
slot_flags = SLOT_BACK
max_w_class = 3
@@ -6,7 +6,7 @@
item_state = "utility"
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined")
sprite_sheets = list("Resomi" = 'icons/mob/species/resomi/belt.dmi')
/obj/item/weapon/storage/update_icon()
if (ismob(src.loc))
@@ -15,6 +15,10 @@
throw_speed = 1
throw_range = 4
sprite_sheets = list(
"Resomi" = 'icons/mob/species/resomi/back.dmi'
)
var/datum/gas_mixture/air_contents = null
var/distribute_pressure = ONE_ATMOSPHERE
var/integrity = 3
+4 -1
View File
@@ -9,7 +9,10 @@
name = "ultra rare hat"
desc = "an ultra rare hat. It commands a certain respect."
icon_state = "petehat"
sprite_sheets = list("Vox" = 'icons/mob/species/vox/head.dmi')
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/head.dmi',
"Resomi" = 'icons/mob/species/resomi/head.dmi'
)
/obj/item/clothing/head/collectable/slime
name = "collectable slime cap!"
+1 -1
View File
@@ -59,7 +59,7 @@
icon_state = "swathelm"
sprite_sheets = list(
"Tajara" = 'icons/mob/species/tajaran/helmet.dmi',
"Unathi" = 'icons/mob/species/unathi/helmet.dmi',
"Unathi" = 'icons/mob/species/unathi/helmet.dmi'
)
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
-5
View File
@@ -8,11 +8,6 @@
w_class = 2
gas_transfer_coefficient = 0.10
permeability_coefficient = 0.50
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/masks.dmi'
)
var/hanging = 0
/obj/item/clothing/mask/breath/proc/adjust_mask(mob/user)
+1 -3
View File
@@ -40,14 +40,12 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
species_restricted = list("Vox")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
/obj/item/clothing/head/helmet/space/vox
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
siemens_coefficient = 0.6
item_flags = STOPPRESSUREDAMAGE
species_restricted = list("Vox")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/head.dmi')
/obj/item/clothing/head/helmet/space/vox/pressure
name = "alien helmet"
@@ -122,7 +120,7 @@
siemens_coefficient = 0
permeability_coefficient = 0.05
species_restricted = list("Vox")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/gloves.dmi')
/obj/item/clothing/shoes/magboots/vox
desc = "A pair of heavy, jagged armoured foot pieces, seemingly suitable for a velociraptor."
@@ -10,7 +10,11 @@
heat_protection = HEAD|FACE|EYES
cold_protection = HEAD|FACE|EYES
brightness_on = 4
sprite_sheets = list("Tajara" = 'icons/mob/species/tajaran/helmet.dmi',"Skrell" = 'icons/mob/species/skrell/helmet.dmi',"Unathi" = 'icons/mob/species/unathi/helmet.dmi')
sprite_sheets = list(
"Tajara" = 'icons/mob/species/tajaran/helmet.dmi',
"Skrell" = 'icons/mob/species/skrell/helmet.dmi',
"Unathi" = 'icons/mob/species/unathi/helmet.dmi'
)
species_restricted = null
/obj/item/clothing/gloves/rig
@@ -44,7 +48,10 @@
breach_threshold = 38
resilience = 0.2
can_breach = 1
sprite_sheets = list("Tajara" = 'icons/mob/species/tajaran/suit.dmi',"Unathi" = 'icons/mob/species/unathi/suit.dmi')
sprite_sheets = list(
"Tajara" = 'icons/mob/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/species/unathi/suit.dmi'
)
supporting_limbs = list()
//TODO: move this to modules
+1 -8
View File
@@ -11,7 +11,7 @@
blood_overlay_type = "armor"
body_parts_covered = 0
allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/fertilizer,/obj/item/weapon/material/minihoe)
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
//Captain
/obj/item/clothing/suit/captunic
name = "captain's parade tunic"
@@ -20,7 +20,6 @@
item_state = "captunic"
body_parts_covered = UPPER_TORSO|ARMS
flags_inv = HIDEJUMPSUIT
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
/obj/item/clothing/suit/captunic/capjacket
name = "captain's uniform jacket"
@@ -37,7 +36,6 @@
icon_state = "chaplain_hoodie"
item_state = "chaplain_hoodie"
body_parts_covered = UPPER_TORSO|ARMS
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
//Chaplain
/obj/item/clothing/suit/nun
@@ -47,7 +45,6 @@
item_state = "nun"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
//Chef
/obj/item/clothing/suit/chef
@@ -59,7 +56,6 @@
permeability_coefficient = 0.50
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list (/obj/item/weapon/material/knife)
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
//Chef
/obj/item/clothing/suit/chef/classic
@@ -102,7 +98,6 @@
body_parts_covered = UPPER_TORSO|ARMS
allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
armor = list(melee = 50, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
/obj/item/clothing/suit/storage/det_suit/black
icon_state = "detective2"
@@ -138,8 +133,6 @@
/obj/item/clothing/mask/gas, /obj/item/taperoll/engineering)
body_parts_covered = UPPER_TORSO
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
//Lawyer
/obj/item/clothing/suit/storage/toggle/lawyer/bluejacket
name = "Blue Suit Jacket"
-1
View File
@@ -9,7 +9,6 @@
body_parts_covered = UPPER_TORSO|ARMS
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
/obj/item/clothing/suit/storage/toggle/labcoat/red
name = "red labcoat"
+6 -1
View File
@@ -6,7 +6,12 @@ var/list/holder_mob_icon_cache = list()
desc = "You shouldn't ever see this."
icon = 'icons/obj/objects.dmi'
slot_flags = SLOT_HEAD
sprite_sheets = list("Vox" = 'icons/mob/species/vox/head.dmi')
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/head.dmi',
"Resomi" = 'icons/mob/species/resomi/head.dmi'
)
origin_tech = null
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_holder.dmi',
@@ -69,4 +69,15 @@
/datum/unarmed_attack/slime_glomp/apply_effects()
//Todo, maybe have a chance of causing an electrical shock?
return
return
/datum/unarmed_attack/stomp/weak
attack_verb = list("jumped on")
/datum/unarmed_attack/stomp/weak/get_unarmed_damage()
return damage
/datum/unarmed_attack/stomp/weak/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
var/obj/item/organ/external/affecting = target.get_organ(zone)
user.visible_message("<span class='warning'>[user] jumped up and down on \the [target]'s [affecting.name]!</span>")
playsound(user.loc, attack_sound, 25, 1, -1)
@@ -0,0 +1,107 @@
/datum/species/resomi
name = "Resomi"
name_plural = "Resomii"
blurb = "A race of feathered raptors who developed on a cold world, almost \
outside of the Goldilocks zone. Extremely fragile, they developed hunting skills \
that emphasized taking out their prey without themselves getting hit. They are an \
advanced post-scarcity culture on good terms with Skrellian and Human interests."
num_alternate_languages = 2
secondary_langs = list("Sol Common")
blood_color = "#D514F7"
flesh_color = "#5F7BB0"
base_color = "#001144"
icobase = 'icons/mob/human_races/r_resomi.dmi'
deform = 'icons/mob/human_races/r_resomi.dmi'
eyes = "eyes_resomi"
slowdown = -2
total_health = 50
brute_mod = 1.35
burn_mod = 1.35
is_small = 1
holder_type = /obj/item/weapon/holder/human
short_sighted = 1
gluttonous = 1
spawn_flags = CAN_JOIN | IS_WHITELISTED
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR
bump_flag = MONKEY
swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL
push_flags = MONKEY|SLIME|SIMPLE_ANIMAL|ALIEN
cold_level_1 = 180
cold_level_2 = 130
cold_level_3 = 70
heat_level_1 = 320
heat_level_2 = 370
heat_level_3 = 600
heat_discomfort_level = 292
heat_discomfort_strings = list(
"Your feathers prickle in the heat.",
"You feel uncomfortably warm.",
)
cold_discomfort_level = 180
has_limbs = list(
"chest" = list("path" = /obj/item/organ/external/chest),
"groin" = list("path" = /obj/item/organ/external/groin/resomi),
"head" = list("path" = /obj/item/organ/external/head),
"l_arm" = list("path" = /obj/item/organ/external/arm),
"r_arm" = list("path" = /obj/item/organ/external/arm/right),
"l_leg" = list("path" = /obj/item/organ/external/leg),
"r_leg" = list("path" = /obj/item/organ/external/leg/right),
"l_hand" = list("path" = /obj/item/organ/external/hand/resomi),
"r_hand" = list("path" = /obj/item/organ/external/hand/right/resomi),
"l_foot" = list("path" = /obj/item/organ/external/foot/resomi),
"r_foot" = list("path" = /obj/item/organ/external/foot/right/resomi)
)
has_organ = list(
"heart" = /obj/item/organ/heart,
"lungs" = /obj/item/organ/lungs,
"liver" = /obj/item/organ/liver,
"kidneys" = /obj/item/organ/kidneys,
"brain" = /obj/item/organ/brain,
"eyes" = /obj/item/organ/eyes
)
unarmed_types = list(
/datum/unarmed_attack/bite/sharp,
/datum/unarmed_attack/claws,
/datum/unarmed_attack/stomp/weak
)
var/shock_cap = 30
var/hallucination_cap = 25
// I'm... so... ronrery, so ronery...
/datum/species/resomi/handle_environment_special(var/mob/living/carbon/human/H)
// If they're dead or unconcious they're a bit beyond this kind of thing.
if(H.stat)
return
// No point processing if we're already stressing the hell out.
if(H.hallucination >= hallucination_cap && H.shock_stage >= shock_cap)
return
// Check for company.
for(var/mob/living/M in viewers(H))
if(M == H || M.stat == DEAD || M.invisibility > H.see_invisible)
continue
if(M.faction == "neutral" || M.faction == H.faction)
return
// No company? Suffer :(
if(H.shock_stage < shock_cap)
H.shock_stage += 1
if(H.shock_stage >= shock_cap && H.hallucination < hallucination_cap)
H.hallucination += 2.5
/datum/species/resomi/get_vision_flags(var/mob/living/carbon/human/H)
if(!(H.sdisabilities & DEAF) && !H.ear_deaf)
return SEE_SELF|SEE_MOBS
else
return SEE_SELF
@@ -12,7 +12,7 @@
secondary_langs = list("Sol Common")
spawn_flags = CAN_JOIN
appearance_flags = HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR
/datum/species/unathi
name = "Unathi"
@@ -45,7 +45,7 @@
heat_level_3 = 1100 //Default 1000
spawn_flags = CAN_JOIN | IS_WHITELISTED
appearance_flags = HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
flesh_color = "#34AF10"
@@ -103,7 +103,7 @@
primitive_form = "Farwa"
spawn_flags = CAN_JOIN | IS_WHITELISTED
appearance_flags = HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
flesh_color = "#AFA59E"
base_color = "#333333"
@@ -137,7 +137,7 @@
secondary_langs = list("Skrellian")
spawn_flags = CAN_JOIN | IS_WHITELISTED
appearance_flags = HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
flesh_color = "#8CD7A3"
blood_color = "#1D2CBF"
@@ -57,6 +57,21 @@
name = "Short Hair" // try to capatilize the names please~
icon_state = "hair_a" // you do not need to define _s or _l sub-states, game automatically does this for you
resomi
name = "Resomi Plumage"
icon_state = "resomi_default"
species_allowed = list("Resomi")
resomi_ears
name = "Resomi Ears"
icon_state = "resomi_ears"
species_allowed = list("Resomi")
resomi_excited
name = "Resomi Spiky"
icon_state = "resomi_spiky"
species_allowed = list("Resomi")
cut
name = "Cut Hair"
icon_state = "hair_c"
+10
View File
@@ -0,0 +1,10 @@
/obj/item/organ/external/foot/resomi
body_hair = "feathers"
/obj/item/organ/external/foot/right/resomi
body_hair = "feathers"
/obj/item/organ/external/hand/resomi
body_hair = "feathers"
/obj/item/organ/external/hand/right/resomi
body_hair = "feathers"
/obj/item/organ/external/groin/resomi
body_hair = "feathers"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB