diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index b5913c3e71a..3be1783df4b 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -202,7 +202,7 @@ if(ishuman(affected_mob)) var/mob/living/carbon/human/human = affected_mob if(human.dna.species.id != "slime") - human.set_species(/datum/species/slime) + human.set_species(/datum/species/jelly/slime) /datum/disease/transformation/corgi name = "The Barkening" diff --git a/code/game/gamemodes/abduction/gland.dm b/code/game/gamemodes/abduction/gland.dm index 6fed6acfe05..0a8d5814359 100644 --- a/code/game/gamemodes/abduction/gland.dm +++ b/code/game/gamemodes/abduction/gland.dm @@ -108,7 +108,7 @@ /obj/item/organ/internal/gland/pop/activate() owner << "You feel unlike yourself." - var/species = pick(list(/datum/species/lizard,/datum/species/slime,/datum/species/pod,/datum/species/fly)) + var/species = pick(list(/datum/species/lizard,/datum/species/jelly/slime,/datum/species/pod,/datum/species/fly)) owner.set_species(species) /obj/item/organ/internal/gland/ventcrawling diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index c0b441d2001..dc2022e1f78 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -266,8 +266,9 @@ Made by Xhuis light_amount = T.get_lumcount() if(light_amount > LIGHT_DAM_THRESHOLD && !H.incorporeal_move) //Can survive in very small light levels. Also doesn't take damage while incorporeal, for shadow walk purposes H.take_overall_damage(0, LIGHT_DAMAGE_TAKEN) - H << "The light burns you!" //Message spam to say "GET THE FUCK OUT" - H << 'sound/weapons/sear.ogg' + if(H.stat != DEAD) + H << "The light burns you!" //Message spam to say "GET THE FUCK OUT" + H << 'sound/weapons/sear.ogg' else if (light_amount < LIGHT_HEAL_THRESHOLD) H.heal_overall_damage(5,5) H.adjustToxLoss(-5) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 07f2f5b3bea..e38816c620a 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -971,7 +971,7 @@ About the new airlock wires panel: if(!density) return 1 - if(!ticker) + if(!ticker || !ticker.mode) return 0 operating = 1 @@ -1132,11 +1132,13 @@ About the new airlock wires panel: return /obj/machinery/door/airlock/emag_act(mob/user) - if(density && hasPower() && !emagged) + if(!operating && density && hasPower() && !emagged) + operating = 1 update_icon(AIRLOCK_EMAG) sleep(6) if(qdeleted(src)) return + operating = 0 if(!open()) update_icon(AIRLOCK_CLOSED) emagged = 1 diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index f0194cc645d..3f79f986116 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -194,7 +194,7 @@ return 1 if(operating) return - if(!ticker) + if(!ticker || !ticker.mode) return 0 operating = 1 diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 45d6b6e64be..7d611a644c9 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -102,7 +102,7 @@ /obj/machinery/door/window/open(forced=0) if (src.operating == 1) //doors can still open when emag-disabled return 0 - if (!ticker) + if(!ticker || !ticker.mode) return 0 if(!forced) if(!hasPower()) @@ -251,10 +251,11 @@ return src.attackby(user, user) /obj/machinery/door/window/emag_act(mob/user) - if(density && !emagged) - operating = 0 + if(!operating && density && !emagged) + operating = 1 flick("[src.base_state]spark", src) sleep(6) + operating = 0 desc += "
Its access panel is smoking slightly." open() emagged = 1 @@ -265,6 +266,9 @@ if (src.operating) return + if(istype(I, /obj/item/weapon/card/emag)) + return + add_fingerprint(user) if(istype(I, /obj/item/weapon/screwdriver)) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 1658f052e07..3a867084a0b 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -66,6 +66,7 @@ /obj/effect/decal/cleanable/proc/can_bloodcrawl_in() - return bloodiness - - + if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) + return bloodiness + else + return 0 \ No newline at end of file diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 4496bba1b3f..3c2d24f8345 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -200,7 +200,7 @@ if("showgm") if(!check_rights(R_ADMIN)) return - if(!ticker) + if(!ticker || !ticker.mode) alert("The game hasn't started yet!") else if (ticker.mode) alert("The game mode is [ticker.mode.name]") @@ -303,7 +303,7 @@ if("traitor_all") if(!check_rights(R_FUN)) return - if(!ticker) + if(!ticker || !ticker.mode) alert("The game hasn't started yet!") return var/objective = copytext(sanitize(input("Enter an objective")),1,MAX_MESSAGE_LEN) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index aaed2a84488..8a1577f4bb9 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -199,7 +199,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set category = "Fun" set name = "Make Robot" - if(!ticker) + if(!ticker || !ticker.mode) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon/human)) @@ -215,7 +215,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set category = "Fun" set name = "Make Blob" - if(!ticker) + if(!ticker || !ticker.mode) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon/human)) @@ -232,7 +232,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set category = "Fun" set name = "Make Simple Animal" - if(!ticker) + if(!ticker || !ticker.mode) alert("Wait until the game starts") return @@ -280,7 +280,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set category = "Fun" set name = "Make Alien" - if(!ticker) + if(!ticker || !ticker.mode) alert("Wait until the game starts") return if(ishuman(M)) @@ -297,7 +297,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set category = "Fun" set name = "Make slime" - if(!ticker) + if(!ticker || !ticker.mode) alert("Wait until the game starts") return if(ishuman(M)) @@ -474,7 +474,7 @@ var/global/list/g_fancy_list_of_types = null set category = "Admin" set name = "Grant Full Access" - if (!ticker) + if(!ticker || !ticker.mode) alert("Wait until the game starts") return if (istype(M, /mob/living/carbon/human)) diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index 454869acf20..47747b9ecf1 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -1,5 +1,5 @@ /client/proc/only_one() - if(!ticker) + if(!ticker || !ticker.mode) alert("The game hasn't started yet!") return @@ -51,7 +51,7 @@ /client/proc/only_me() - if(!ticker) + if(!ticker || !ticker.mode) alert("The game hasn't started yet!") return diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 08f09916727..322ac1f17a0 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -344,7 +344,7 @@ /obj/item/clothing/head/winterhood name = "winter hood" desc = "A hood attached to a heavy winter jacket." - icon_state = "generic_hood" + icon_state = "winterhood" body_parts_covered = HEAD cold_protection = HEAD min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -355,48 +355,82 @@ icon_state = "coatcaptain" armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic) + hoodtype = /obj/item/clothing/head/winterhood/captain + +/obj/item/clothing/head/winterhood/captain + icon_state = "winterhood_captain" /obj/item/clothing/suit/hooded/wintercoat/security name = "security winter coat" icon_state = "coatsecurity" armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic) + hoodtype = /obj/item/clothing/head/winterhood/security + +/obj/item/clothing/head/winterhood/security + icon_state = "winterhood_security" /obj/item/clothing/suit/hooded/wintercoat/medical name = "medical winter coat" icon_state = "coatmedical" 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,/obj/item/weapon/melee/classic_baton/telescopic) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) + hoodtype = /obj/item/clothing/head/winterhood/medical + +/obj/item/clothing/head/winterhood/medical + icon_state = "winterhood_medical" /obj/item/clothing/suit/hooded/wintercoat/science name = "science winter coat" icon_state = "coatscience" 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,/obj/item/weapon/melee/classic_baton/telescopic) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) + hoodtype = /obj/item/clothing/head/winterhood/science + +/obj/item/clothing/head/winterhood/science + icon_state = "winterhood_science" /obj/item/clothing/suit/hooded/wintercoat/engineering name = "engineering winter coat" icon_state = "coatengineer" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd) + hoodtype = /obj/item/clothing/head/winterhood/engineering + +/obj/item/clothing/head/winterhood/engineering + icon_state = "winterhood_engineer" /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos name = "atmospherics winter coat" icon_state = "coatatmos" + hoodtype = /obj/item/clothing/head/winterhood/engineering/atmos + +/obj/item/clothing/head/winterhood/engineering/atmos + icon_state = "winterhood_atmos" /obj/item/clothing/suit/hooded/wintercoat/hydro name = "hydroponics winter coat" icon_state = "coathydro" allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/cultivator,/obj/item/weapon/reagent_containers/spray/pestspray,/obj/item/weapon/hatchet,/obj/item/weapon/storage/bag/plants) + hoodtype = /obj/item/clothing/head/winterhood/hydro + +/obj/item/clothing/head/winterhood/hydro + item_state = "winterhood_hydro" /obj/item/clothing/suit/hooded/wintercoat/cargo name = "cargo winter coat" icon_state = "coatcargo" + hoodtype = /obj/item/clothing/head/winterhood/cargo + +/obj/item/clothing/head/winterhood/cargo + icon_state = "winterhood_cargo" /obj/item/clothing/suit/hooded/wintercoat/miner name = "mining winter coat" icon_state = "coatminer" allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + hoodtype = /obj/item/clothing/head/winterhood/miner -// \ No newline at end of file +/obj/item/clothing/head/winterhood/miner + icon_state = "winterhood_miner" \ No newline at end of file diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 6d7a8390ae3..ec8c2da4940 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -1,7 +1,7 @@ //Hoods for winter coats and chaplain hoodie etc /obj/item/clothing/suit/hooded - var/obj/item/clothing/head/winterhood/hood + var/obj/item/clothing/head/hood var/hoodtype = /obj/item/clothing/head/winterhood //so the chaplain hoodie or other hoodies can override this /obj/item/clothing/suit/hooded/New() @@ -14,7 +14,7 @@ /obj/item/clothing/suit/hooded/proc/MakeHood() if(!hood) - var/obj/item/clothing/head/winterhood/W = new hoodtype(src) + var/obj/item/clothing/head/W = new hoodtype(src) hood = W /obj/item/clothing/suit/hooded/ui_action_click() diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index da74f1fc716..bcac80dcc89 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -113,7 +113,7 @@ obj/effect/dummy/slaughter/relaymove(mob/user, direction) if(iscarbon(src)) var/mob/living/carbon/C = src for(var/obj/item/weapon/bloodcrawl/BC in C) - C.flags = null + BC.flags = null C.unEquip(BC) qdel(BC) var/oldcolor = src.color diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index 20577531b27..e236d53f5e3 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -7,7 +7,7 @@ As such, they can either help or harm other aliens. Help works like the human he In all, this is a lot like the monkey code. /N */ /mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M) - if (!ticker) + if(!ticker || !ticker.mode) M << "You cannot attack people before the game has started." return diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 2cef64b3c89..056dfbc5ec9 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -1,5 +1,6 @@ /mob/living/carbon/death(gibbed) silent = 0 + losebreath = 0 med_hud_set_health() med_hud_set_status() ..(gibbed) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index a24e880ed7a..365c881dac9 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -14,8 +14,10 @@ new /obj/effect/decal/remains/human(loc) /mob/living/carbon/human/death(gibbed) - if(stat == DEAD) return - if(healths) healths.icon_state = "health5" + if(stat == DEAD) + return + if(healths) + healths.icon_state = "health5" stat = DEAD dizziness = 0 jitteriness = 0 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index cb1cc74e887..e5adae3a750 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -335,7 +335,8 @@ if(!heart_attack) return else - losebreath += 5 + if(losebreath < 3) + losebreath += 2 adjustOxyLoss(5) adjustBruteLoss(1) diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index 28173c29920..c7d662b4d37 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -35,7 +35,7 @@ /datum/species/human/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) if(chem.id == "mutationtoxin") H << "Your flesh rapidly mutates!" - H.set_species(/datum/species/slime) + H.set_species(/datum/species/jelly/slime) H.reagents.del_reagent(chem.type) H.faction |= "slime" return 1 @@ -111,6 +111,8 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H) /datum/species/pod/spec_life(mob/living/carbon/human/H) + if(H.stat == DEAD) + return var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing if(isturf(H.loc)) //else, there's considered to be no light var/turf/T = H.loc @@ -183,25 +185,24 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H) H.heal_overall_damage(1,1) /* - SLIMEPEOPLE + JELLYPEOPLE */ -/datum/species/slime - // Humans mutated by slime mutagen, produced from green slimes. They are not targetted by slimes. - name = "Slimeperson" - id = "slime" - default_color = "00FFFF" - darksight = 3 - invis_sight = SEE_INVISIBLE_LEVEL_ONE - specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) - hair_color = "mutcolor" - hair_alpha = 150 - ignored_by = list(/mob/living/simple_animal/slime) +/datum/species/jelly + // Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them. + name = "Xenobiological Jelly Entity" + id = "jelly" + default_color = "00FF90" + say_mod = "chirps" + eyes = "jelleyes" + specflags = list(MUTCOLORS,EYECOLOR,NOBLOOD) meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime exotic_blood = /datum/reagent/toxin/slimejelly var/recently_changed = 1 -/datum/species/slime/spec_life(mob/living/carbon/human/H) +/datum/species/jelly/spec_life(mob/living/carbon/human/H) + if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely + return if(!H.reagents.get_reagent_amount("slimejelly")) if(recently_changed) H.reagents.add_reagent("slimejelly", 80) @@ -222,48 +223,28 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H) if(S.volume < 10) H.losebreath++ -/datum/species/slime/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) - if(chem.id == "slimejelly") - return 1 -/* - JELLYPEOPLE -*/ - -/datum/species/jelly - // Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them. - name = "Xenobiological Jelly Entity" - id = "jelly" - default_color = "00FF90" - say_mod = "chirps" - eyes = "jelleyes" - specflags = list(MUTCOLORS,EYECOLOR,NOBLOOD) - meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime - exotic_blood = /datum/reagent/toxin/slimejelly - var/recently_changed = 1 - -/datum/species/jelly/spec_life(mob/living/carbon/human/H) - if(!H.reagents.get_reagent_amount("slimejelly")) - if(recently_changed) - H.reagents.add_reagent("slimejelly", 80) - recently_changed = 0 - else - H.reagents.add_reagent("slimejelly", 5) - H.adjustBruteLoss(5) - H << "You feel empty!" - - for(var/datum/reagent/toxin/slimejelly/S in H.reagents.reagent_list) - if(S.volume < 100) - if(H.nutrition >= NUTRITION_LEVEL_STARVING) - H.reagents.add_reagent("slimejelly", 0.5) - H.nutrition -= 5 - else if(prob(5)) - H << "You feel drained!" - if(S.volume < 10) - H.losebreath++ - /datum/species/jelly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) if(chem.id == "slimejelly") return 1 + +/* + SLIMEPEOPLE +*/ + +/datum/species/jelly/slime + // Humans mutated by slime mutagen, produced from green slimes. They are not targetted by slimes. + name = "Slimeperson" + id = "slime" + default_color = "00FFFF" + darksight = 3 + invis_sight = SEE_INVISIBLE_LEVEL_ONE + specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) + say_mod = "says" + eyes = "eyes" + hair_color = "mutcolor" + hair_alpha = 150 + ignored_by = list(/mob/living/simple_animal/slime) + /* GOLEMS */ diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index f34f20650f5..960675fbd51 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -673,7 +673,7 @@ Sorry Giacom. Please don't be mad :( return name /mob/living/update_gravity(has_gravity) - if(!ticker) + if(!ticker || !ticker.mode) return if(has_gravity) clear_alert("weightless") diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 41300c018c0..c91bf05bcd8 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -195,7 +195,7 @@ /mob/living/attack_slime(mob/living/simple_animal/slime/M) - if (!ticker) + if(!ticker || !ticker.mode) M << "You cannot attack people before the game has started." return @@ -226,7 +226,7 @@ /mob/living/attack_paw(mob/living/carbon/monkey/M) - if (!ticker) + if(!ticker || !ticker.mode) M << "You cannot attack people before the game has started." return 0 @@ -271,7 +271,7 @@ return 0 /mob/living/attack_alien(mob/living/carbon/alien/humanoid/M) - if (!ticker) + if(!ticker || !ticker.mode) M << "You cannot attack people before the game has started." return 0 diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 4e708d7f2b2..b9019c19700 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -476,7 +476,7 @@ var/list/ai_list = list() /mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M) - if (!ticker) + if(!ticker || !ticker.mode) M << "You cannot attack people before the game has started." return diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index 92fb1c7ed00..61cdb5fbf52 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -18,7 +18,9 @@ /obj/item/drone_shell/attack_ghost(mob/user) if(jobban_isbanned(user,"drone")) return - + if(!ticker.mode) + user << "Can't become a drone before the game has started." + return var/be_drone = alert("Become a drone? (Warning, You can no longer be cloned!)",,"Yes","No") if(be_drone == "No" || gc_destroyed) return diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index dfc03ac9bb1..324a121a982 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -431,6 +431,7 @@ /mob/living/simple_animal/revive() health = maxHealth + icon = initial(icon) icon_state = icon_living density = initial(density) update_canmove() diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index cadcdb2db31..f6ed7d222e8 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -298,9 +298,6 @@ discipline_slime(user) ..() -/mob/living/simple_animal/slime/show_inv(mob/user) - return - /mob/living/simple_animal/slime/proc/apply_water() adjustBruteLoss(rand(15,20)) if(!client) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index ca0948b56c5..3829ee81907 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -325,17 +325,7 @@ var/list/slot_equipment_priority = list( \ /mob/proc/show_inv(mob/user) - user.set_machine(src) - var/dat = {" -
- [name] -
-
Left Hand: [(l_hand&&!(l_hand.flags&ABSTRACT)) ? l_hand : "Nothing"] -
Right Hand: [(r_hand&&!(r_hand.flags&ABSTRACT)) ? r_hand : "Nothing"] -
Close - "} - user << browse(dat, "window=mob\ref[src];size=325x500") - onclose(user, "mob\ref[src]") + return //mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine() /mob/verb/examinate(atom/A as mob|obj|turf in view()) //It used to be oview(12), but I can't really say why diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index ddda848c270..48837641064 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -49,8 +49,6 @@ var/stuttering = null //Carbon var/slurring = 0 //Carbon var/real_name = null - var/bhunger = 0 //Carbon - var/ajourn = 0 var/druggy = 0 //Carbon var/confused = 0 //Carbon var/sleeping = 0 //Carbon diff --git a/code/modules/ninja/admin_ninja_verbs.dm b/code/modules/ninja/admin_ninja_verbs.dm index ddbbca1379e..aa3f8d48ea1 100644 --- a/code/modules/ninja/admin_ninja_verbs.dm +++ b/code/modules/ninja/admin_ninja_verbs.dm @@ -12,7 +12,7 @@ Contents: set category = null set name = "Make Space Ninja" - if(!ticker) + if (!ticker.mode) alert("Wait until the game starts") return diff --git a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm index 32d21872f7c..e9429314a51 100644 --- a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm @@ -364,7 +364,7 @@ if(prob(90) && mutation && H.dna.species != /datum/species/golem && H.dna.species != /datum/species/golem/adamantine) H << "The pain subsides. You feel... different." H.set_species(mutation) - if(mutation == /datum/species/slime) + if(mutation.id == "slime") H.faction |= "slime" else H.faction -= "slime" diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 3d38396674c..893024aa714 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 0e81fa537d7..d2eb2b45a70 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ