From b88aaea33630d1a1d15e4bba69d841c1fcfd91fd Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Sun, 28 Oct 2012 10:30:06 +1000 Subject: [PATCH 1/9] halved species-unfitting damage, made cramp damage actually stick to max 10 + lowered accum rate Signed-off-by: Cael_Aislinn --- code/modules/clothing/suits/suit_cramp.dm | 6 ++--- .../mob/living/carbon/human/inventory.dm | 26 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/clothing/suits/suit_cramp.dm b/code/modules/clothing/suits/suit_cramp.dm index 5f42e46e287..27a732e8321 100644 --- a/code/modules/clothing/suits/suit_cramp.dm +++ b/code/modules/clothing/suits/suit_cramp.dm @@ -19,9 +19,9 @@ var/afforgan = pick("chest","l_foot","r_foot","l_arm","l_leg") var/datum/organ/external/affecting = H.get_organ(afforgan) if(affecting) - if(prob(25)) - affecting.take_damage(5, 0, 0) - cramp_damage_caused += 5 + if(prob(20) && cramp_damage_caused < CRAMP_DAMAGE_MAX) + affecting.take_damage(3, 0, 0) + cramp_damage_caused += 3 H << "\red [pick("Your [affecting.display_name] goes to sleep.","Your [affecting.display_name] begins to twitch.","Your [affecting.display_name] begins to seize up.","You can feel cramps in your [affecting.display_name].","Your [affecting.display_name] begins to ache.","You can feel pins and needles in your [affecting.display_name].")]" spawn(rand(MIN_CRAMP_TIME, MAX_CRAMP_TIME)) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 1c0c701553c..9feea5312e2 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -235,23 +235,23 @@ if(cur_species == "Tajaran") if(prob(5)) src.visible_message("\red Your claws burst out of the [W], ripping them to shreds!", "\red [src]'s claws burst out of the [W], ripping them to shreds!", "\red You hear a ripping, tearing sound!") - var/datum/organ/external/affecting = get_organ("l_foot") + var/datum/organ/external/affecting = get_organ("l_hand") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) affecting = get_organ("r_foot") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) broken = 1 spawn(0) del(W) else if(prob(50)) src << "\red You hurt your claws forcing them into the [W]!" - var/datum/organ/external/affecting = get_organ("l_foot") + var/datum/organ/external/affecting = get_organ("r_hand") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) affecting = get_organ("r_foot") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) if(!broken) src.gloves = W W.equipped(src, slot) @@ -271,21 +271,21 @@ src.visible_message("\red Your feet burst out of the [W], ripping them to shreds!", "\red [src]'s feet burst out of the [W], ripping them to shreds!", "\red You hear a ripping, tearing sound!") var/datum/organ/external/affecting = get_organ("l_foot") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) affecting = get_organ("r_foot") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) broken = 1 spawn(0) del(W) else if(prob(50)) src << "\red You hurt your feet forcing them into the [W]!" - var/datum/organ/external/affecting = get_organ("l_foot") + var/datum/organ/external/affecting = get_organ("r_foot") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) affecting = get_organ("r_foot") if(affecting) - affecting.take_damage(5, 0, 0) + affecting.take_damage(2.5, 0, 0) if(!broken) src.shoes = W W.equipped(src, slot) @@ -329,13 +329,13 @@ src << "\red You twist your tail trying to fit it into the [W]!" var/datum/organ/external/affecting = get_organ("chest") if(affecting) - affecting.take_damage(10, 0, 0) + affecting.take_damage(5, 0, 0) if( W.body_parts_covered & HEAD && W.flags & BLOCKHAIR && (cur_species == "Skrell")) if(prob(50)) src << "\red You twist your eartails trying to fit them into the [W]!" var/datum/organ/external/affecting = get_organ("head") if(affecting) - affecting.take_damage(10, 0, 0) + affecting.take_damage(5, 0, 0) W.layer = 20 From 12a677cf0b4a2b4644b4071d2b11b5fd1439d494 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Sun, 28 Oct 2012 15:43:55 +1000 Subject: [PATCH 2/9] increased cramp interval, removed damage chance Signed-off-by: Cael_Aislinn --- code/modules/clothing/suits/suit_cramp.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/clothing/suits/suit_cramp.dm b/code/modules/clothing/suits/suit_cramp.dm index 27a732e8321..455ae543254 100644 --- a/code/modules/clothing/suits/suit_cramp.dm +++ b/code/modules/clothing/suits/suit_cramp.dm @@ -1,7 +1,7 @@ //might be a better place to put this, but it's fine here for now -#define MIN_CRAMP_TIME 600 -#define MAX_CRAMP_TIME 3600 +#define MIN_CRAMP_TIME 1200 +#define MAX_CRAMP_TIME 7200 #define CRAMP_DAMAGE_MAX 10 /obj/item/clothing/suit/var/causes_cramps = 0 @@ -19,9 +19,9 @@ var/afforgan = pick("chest","l_foot","r_foot","l_arm","l_leg") var/datum/organ/external/affecting = H.get_organ(afforgan) if(affecting) - if(prob(20) && cramp_damage_caused < CRAMP_DAMAGE_MAX) + /*if(prob(20) && cramp_damage_caused < CRAMP_DAMAGE_MAX) affecting.take_damage(3, 0, 0) - cramp_damage_caused += 3 + cramp_damage_caused += 3*/ H << "\red [pick("Your [affecting.display_name] goes to sleep.","Your [affecting.display_name] begins to twitch.","Your [affecting.display_name] begins to seize up.","You can feel cramps in your [affecting.display_name].","Your [affecting.display_name] begins to ache.","You can feel pins and needles in your [affecting.display_name].")]" spawn(rand(MIN_CRAMP_TIME, MAX_CRAMP_TIME)) From 5c82c87aa29ecd21b791318ad82683b3da26242e Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Tue, 30 Oct 2012 23:44:57 +1000 Subject: [PATCH 3/9] removed silly comments Signed-off-by: Cael_Aislinn --- .../mob/living/carbon/human/inventory.dm | 58 ------------------- 1 file changed, 58 deletions(-) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 42944d5374d..85088beea25 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -181,9 +181,6 @@ src.r_hand = null update_inv_r_hand() - //check later on if our species can't wear some clothes. Hawk: Bugger that. Just tell them in the roundstart messages! We whitelist them! -// var/cur_species = get_species() - W.loc = src switch(slot) if(slot_back) @@ -228,18 +225,6 @@ W.equipped(src, slot) update_inv_glasses(redraw_mob) if(slot_gloves) -/* var/broken = 0 - if(cur_species == "Tajaran") //We whitelist our Tajaran already. No further code is needed to punish them. - if(prob(5)) - src.visible_message("\red Your feet burst out of the [W], ripping them to shreds!", "\red [src]'s feet burst out of the [W], ripping them to shreds!", "\red You hear a ripping, tearing sound!") - apply_damage(5) - broken = 1 - spawn(0) - del(W) - else if(prob(50)) - src << "\red You hurt your feet forcing them into the [W]!" - apply_damage(5) - if(!broken)*/ src.gloves = W W.equipped(src, slot) update_inv_gloves(redraw_mob) @@ -252,18 +237,6 @@ W.equipped(src, slot) update_inv_head(redraw_mob) if(slot_shoes) -/* var/broken = 0 - if(cur_species == "Tajaran") - if(prob(5)) - src.visible_message("\red Your feet burst out of the [W], ripping them to shreds!", "\red [src]'s feet burst out of the [W], ripping them to shreds!", "\red You hear a ripping, tearing sound!") - apply_damage(5) - broken = 1 - spawn(0) - del(W) - else if(prob(50)) - src << "\red You hurt your feet forcing them into the [W]!" - apply_damage(5) - if(!broken) */ src.shoes = W W.equipped(src, slot) update_inv_shoes(redraw_mob) @@ -295,41 +268,10 @@ src << "\red You are trying to eqip this item to an unsupported inventory slot. How the heck did you manage that? Stop it..." return -/* - //can't quite fit some alien bodyparts. Hawk: For the love of god why? - if( W.body_parts_covered & LOWER_TORSO && W.flags_inv & HIDEJUMPSUIT && (cur_species == "Tajaran" || cur_species == "Soghun")) - if(prob(50)) - src << "\red You twist your tail trying to fit it in!" - apply_damage(5) - if( W.body_parts_covered & HEAD && W.flags & BLOCKHAIR && (cur_species == "Skrell")) - if(prob(50)) - src << "\red You twist your eartails trying to fit it in!" - apply_damage(5) -*/ W.layer = 20 return -/* -/mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1) - overlays_lying[TAIL_LAYER] = null - overlays_standing[TAIL_LAYER] = null - var/cur_species = get_species() - if( cur_species == "Tajaran") - if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) - overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "tajtail_l") - overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "tajtail_s") - else if( cur_species == "Soghun") - if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) - overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "sogtail_l") - overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "sogtail_s") - - if(update_icons) update_icons() - -*/ - - - /obj/effect/equip_e name = "equip e" var/mob/source = null From 698425a987cb98bdcbc070e3ca8b662f83107012 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Tue, 30 Oct 2012 23:46:54 +1000 Subject: [PATCH 4/9] readd ssd sleep Signed-off-by: Cael_Aislinn --- code/modules/mob/living/carbon/human/life.dm | 3 ++- code/modules/mob/living/logout.dm | 2 ++ code/modules/mob/mob_defines.dm | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index f3a0bdebce9..65bb48db29d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1078,7 +1078,8 @@ else if(sleeping) handle_dreams() adjustHalLoss(-5) - sleeping = max(sleeping-1, 0) + if(mind.active || immune_to_ssd) + sleeping = max(sleeping-1, 0) blinded = 1 stat = UNCONSCIOUS if( prob(10) && health && !hal_crit ) diff --git a/code/modules/mob/living/logout.dm b/code/modules/mob/living/logout.dm index b766df1b4bd..0391fa5dbf9 100644 --- a/code/modules/mob/living/logout.dm +++ b/code/modules/mob/living/logout.dm @@ -2,3 +2,5 @@ ..() if(!key && mind) //key and mind have become seperated. mind.active = 0 //This is to stop say, a mind.transfer_to call on a corpse causing a ghost to re-enter its body. + if(!immune_to_ssd && sleeping < 2) + sleeping = 2 diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index f28dc77e2e7..a92c19b2b94 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -223,3 +223,5 @@ var/has_limbs = 1 //Whether this mob have any limbs he can move with var/can_stand = 1 //Whether this mob have ability to stand + + var/immune_to_ssd = 0 From b6366daa9acc083ebb19667b9e1bca19c7a3e323 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Wed, 31 Oct 2012 11:00:22 +1000 Subject: [PATCH 5/9] reduced alien infestation random event chance, down to less than 1% every five minutes Signed-off-by: Cael_Aislinn --- code/game/gamemodes/events.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 5cc0205695f..6976b83d636 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -78,7 +78,8 @@ if(6) viral_outbreak() if(7) - alien_infestation() + if(prob(10)) + alien_infestation() if(8) prison_break() if(9) From 38e127f2c40495de69620e07e2afc140c64b01a9 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Wed, 31 Oct 2012 14:02:14 +1000 Subject: [PATCH 6/9] made invisimin change the mob sprite Signed-off-by: Cael_Aislinn --- code/modules/admin/admin_verbs.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 863a52770a1..c41873b7a04 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -495,9 +495,14 @@ if(mob.invisibility == INVISIBILITY_OBSERVER) mob.invisibility = initial(mob.invisibility) mob << "\red Invisimin off. Invisibility reset." + mob.icon_state = "ghost" + mob.icon = 'human.dmi' + mob.update_icons() else mob.invisibility = INVISIBILITY_OBSERVER mob << "\blue Invisimin on. You are now as invisible as a ghost." + mob.icon_state = "ghost" + mob.icon = 'mob.dmi' /client/proc/player_panel() From 4a5a80f3bba48fe565735d660ee38c88dcefbe28 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Sat, 3 Nov 2012 16:57:59 +1000 Subject: [PATCH 7/9] fixed alien whitelist (wasn't being loaded at round start), removed myself from admins Signed-off-by: Cael_Aislinn --- code/game/jobs/whitelist.dm | 4 +--- code/world.dm | 2 ++ config/admins.txt | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index e1897af506f..35f5279155b 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -1,6 +1,6 @@ #define WHITELISTFILE "data/whitelist.txt" -var/list/whitelist +var/list/whitelist = list() /proc/load_whitelist() var/text = file2text(WHITELISTFILE) @@ -25,10 +25,8 @@ proc/load_alienwhitelist() /proc/is_alien_whitelisted(mob/M, var/species) if(!alien_whitelist) - world << "no alien whitelist" return 0 if((M.client) && (M.client.holder) && (M.client.holder.level) && (M.client.holder.level >= 5)) - world << "admin alien whitelisted" return 1 if(M && species) for (var/s in alien_whitelist) diff --git a/code/world.dm b/code/world.dm index e3a9e76ad5c..917ccc1d3cc 100644 --- a/code/world.dm +++ b/code/world.dm @@ -23,6 +23,8 @@ investigate_reset() if (config.usewhitelist) load_whitelist() + if (config.usealienwhitelist) + load_alienwhitelist() LoadBansjob() Get_Holiday() //~Carn, needs to be here when the station is named so :P src.update_status() diff --git a/config/admins.txt b/config/admins.txt index f4fa450770d..c2b5bf032eb 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -3,7 +3,6 @@ arcalane - Game Admin asanadas - Game Admin bobbehluvspropane - Game Admin cacophony - Game Admin -caelaislinn - Game Master cajoes - Game Admin cib - Retired Admin compactninja - Retired Admin From dba38d5508314cffd7f8e0e99a8f35563ab95aac Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Sat, 3 Nov 2012 23:46:41 +1000 Subject: [PATCH 8/9] made helmets etc properly hide hair Signed-off-by: Cael_Aislinn --- code/modules/mob/living/carbon/human/update_icons.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 8e4d2e6ee27..16c740f6dc8 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -332,13 +332,13 @@ proc/get_damage_icon_part(damage_state, body_part) overlays_lying[HAIR_LAYER] = null overlays_standing[HAIR_LAYER] = null - var/datum/organ/external/head/head = get_organ("head") - if( !head || (head.status & ORGAN_DESTROYED) ) + var/datum/organ/external/head/head_organ = get_organ("head") + if( !head_organ || (head_organ.status & ORGAN_DESTROYED) ) if(update_icons) update_icons() return //masks and helmets can obscure our hair. - if( (head && (head.status & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() return From 34cee5d16d4db1fbb8f661e02329905bc2ebec15 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Sun, 4 Nov 2012 01:14:36 +1000 Subject: [PATCH 9/9] dme fixes Signed-off-by: Cael_Aislinn --- baystation12.dme | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 4974c6a71e7..3cc437dad63 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -128,6 +128,7 @@ #define FILE_DIR "code/modules/critters" #define FILE_DIR "code/modules/critters/hivebots" #define FILE_DIR "code/modules/customitems" +#define FILE_DIR "code/modules/DetectiveWork" #define FILE_DIR "code/modules/flufftext" #define FILE_DIR "code/modules/food" #define FILE_DIR "code/modules/icon generation" @@ -228,8 +229,6 @@ #define FILE_DIR "code/WorkInProgress/virus2/Disease2" #define FILE_DIR "code/WorkInProgress/Wrongnumber" #define FILE_DIR "code/ZAS" -#define FILE_DIR "config" -#define FILE_DIR "config/names" #define FILE_DIR "html" #define FILE_DIR "icons" #define FILE_DIR "icons/48x48" @@ -253,7 +252,8 @@ #define FILE_DIR "interface" #define FILE_DIR "maps" #define FILE_DIR "maps/RandomZLevels" -#define FILE_DIR "music"#define FILE_DIR "sound" +#define FILE_DIR "music" +#define FILE_DIR "sound" #define FILE_DIR "sound/AI" #define FILE_DIR "sound/ambience" #define FILE_DIR "sound/effects" @@ -975,6 +975,10 @@ #include "code\modules\critters\hivebots\hivebot.dm" #include "code\modules\customitems\item_defines.dm" #include "code\modules\customitems\item_spawning.dm" +#include "code\modules\DetectiveWork\detective_work.dm" +#include "code\modules\DetectiveWork\evidence.dm" +#include "code\modules\DetectiveWork\footprints_and_rag.dm" +#include "code\modules\DetectiveWork\scanner.dm" #include "code\modules\flufftext\Dreaming.dm" #include "code\modules\flufftext\Hallucination.dm" #include "code\modules\flufftext\TextFilters.dm"