Quality of life pull for my recent commits (#20210)

* Quality of life pull for my recent commits:

RPGloot will no longer try to place scrolls in secret satchels, as this would slowly turn the drop table into these fairly useless joke items.

Goes through and genders most(all) the pets in the game so the gender change potion can work on them. Many previously hard defined generic animals can now be either male or female.

* Secret satchel is now a bit more aggressive with making sure a satchel is placed

D E F I N E S

* "quality"

* Not Canon
This commit is contained in:
Incoming5643
2016-08-30 17:23:54 -04:00
committed by oranges
parent 9f4d354065
commit 540fa28339
31 changed files with 48 additions and 11 deletions

View File

@@ -56,11 +56,16 @@ var/datum/subsystem/persistence/SSpersistence
return 1 return 1
/datum/subsystem/persistence/proc/PlaceFreeSatchel() /datum/subsystem/persistence/proc/PlaceFreeSatchel()
for(var/V in shuffle(get_area_turfs(pick(the_station_areas)))) var/satchel_placed = FALSE
var/turf/T = V var/breakout = 0
if(istype(T,/turf/open/floor) && !istype(T,/turf/open/floor/plating/)) while(!satchel_placed && breakout <= 5)
new /obj/item/weapon/storage/backpack/satchel/flat/secret(T) for(var/V in shuffle(get_area_turfs(pick(the_station_areas))))
break var/turf/T = V
if(istype(T,/turf/open/floor) && !istype(T,/turf/open/floor/plating/))
new /obj/item/weapon/storage/backpack/satchel/flat/secret(T)
satchel_placed = TRUE
break
breakout++
/datum/subsystem/persistence/proc/CollectSecretSatchels() /datum/subsystem/persistence/proc/CollectSecretSatchels()
for(var/A in new_secret_satchels) for(var/A in new_secret_satchels)

View File

@@ -30,7 +30,7 @@
if(istype(I,/obj/item/weapon/storage)) if(istype(I,/obj/item/weapon/storage))
var/obj/item/weapon/storage/S = I var/obj/item/weapon/storage/S = I
if(prob(upgrade_scroll_chance) && S.contents.len < S.storage_slots) if(prob(upgrade_scroll_chance) && S.contents.len < S.storage_slots && !S.invisibility)
var/obj/item/upgradescroll/scroll = new var/obj/item/upgradescroll/scroll = new
S.handle_item_insertion(scroll,1) S.handle_item_insertion(scroll,1)
upgrade_scroll_chance = max(0,upgrade_scroll_chance-100) upgrade_scroll_chance = max(0,upgrade_scroll_chance-100)
@@ -49,8 +49,8 @@
var/quality = target.force - initial(target.force) var/quality = target.force - initial(target.force)
if(quality > 9 && prob((quality - 9)*10)) if(quality > 9 && prob((quality - 9)*10))
user << "<span class='danger'>[target] catches fire!</span>" user << "<span class='danger'>[target] catches fire!</span>"
if(target.burn_state == -1) if(target.burn_state < FLAMMABLE)
target.burn_state = 0 target.burn_state = FLAMMABLE
target.fire_act() target.fire_act()
qdel(src) qdel(src)
return return

View File

@@ -4,6 +4,7 @@
/mob/living/simple_animal/bot /mob/living/simple_animal/bot
icon = 'icons/obj/aibots.dmi' icon = 'icons/obj/aibots.dmi'
layer = MOB_LAYER layer = MOB_LAYER
gender = NEUTER
luminosity = 3 luminosity = 3
stop_automated_movement = 1 stop_automated_movement = 1
wander = 0 wander = 0
@@ -864,7 +865,7 @@ Pass a positive integer as an argument to override a bot's default speed.
else else
user << "<span class='warning'>[card] is inactive.</span>" user << "<span class='warning'>[card] is inactive.</span>"
else else
user << "<span class='warning'>The personality slot is locked.</span>" user << "<span class='warning'>The personality slot is locked.</span>"
else else
user << "<span class='warning'>[src] is not compatible with [card]</span>" user << "<span class='warning'>[src] is not compatible with [card]</span>"

View File

@@ -2,6 +2,7 @@
name = "Construct" name = "Construct"
real_name = "Construct" real_name = "Construct"
desc = "" desc = ""
gender = NEUTER
speak_emote = list("hisses") speak_emote = list("hisses")
response_help = "thinks better of touching" response_help = "thinks better of touching"
response_disarm = "flails at" response_disarm = "flails at"

View File

@@ -56,6 +56,7 @@
/mob/living/simple_animal/pet/cat/original /mob/living/simple_animal/pet/cat/original
name = "Batsy" name = "Batsy"
desc = "The product of alien DNA and bored geneticists." desc = "The product of alien DNA and bored geneticists."
gender = FEMALE
icon_state = "original" icon_state = "original"
icon_living = "original" icon_living = "original"
icon_dead = "original_dead" icon_dead = "original_dead"
@@ -66,7 +67,6 @@
icon_state = "kitten" icon_state = "kitten"
icon_living = "kitten" icon_living = "kitten"
icon_dead = "kitten_dead" icon_dead = "kitten_dead"
gender = NEUTER
density = 0 density = 0
pass_flags = PASSMOB pass_flags = PASSMOB
mob_size = MOB_SIZE_SMALL mob_size = MOB_SIZE_SMALL
@@ -134,6 +134,7 @@
/mob/living/simple_animal/pet/cat/Proc /mob/living/simple_animal/pet/cat/Proc
name = "Proc" name = "Proc"
gender = MALE
gold_core_spawnable = 0 gold_core_spawnable = 0
/mob/living/simple_animal/pet/cat/Life() /mob/living/simple_animal/pet/cat/Life()
@@ -221,6 +222,7 @@
icon_dead = "cak_dead" icon_dead = "cak_dead"
health = 50 health = 50
maxHealth = 50 maxHealth = 50
gender = FEMALE
harm_intent_damage = 10 harm_intent_damage = 10
butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/weapon/reagent_containers/food/snacks/cakeslice/birthday = 3, \ butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/weapon/reagent_containers/food/snacks/cakeslice/birthday = 3, \
/obj/item/weapon/reagent_containers/food/snacks/meat/slab = 2) /obj/item/weapon/reagent_containers/food/snacks/meat/slab = 2)

View File

@@ -39,6 +39,7 @@
name = "Coffee" name = "Coffee"
real_name = "Coffee" real_name = "Coffee"
desc = "It's Coffee, the other pet!" desc = "It's Coffee, the other pet!"
gender = FEMALE
response_help = "pets" response_help = "pets"
response_disarm = "gently pushes aside" response_disarm = "gently pushes aside"
response_harm = "stomps" response_harm = "stomps"

View File

@@ -22,7 +22,6 @@
icon_state = "corgi" icon_state = "corgi"
icon_living = "corgi" icon_living = "corgi"
icon_dead = "corgi_dead" icon_dead = "corgi_dead"
gender = MALE
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1) butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1)
childtype = list(/mob/living/simple_animal/pet/dog/corgi/puppy = 95, /mob/living/simple_animal/pet/dog/corgi/puppy/void = 5) childtype = list(/mob/living/simple_animal/pet/dog/corgi/puppy = 95, /mob/living/simple_animal/pet/dog/corgi/puppy/void = 5)
animal_species = /mob/living/simple_animal/pet/dog animal_species = /mob/living/simple_animal/pet/dog

View File

@@ -86,6 +86,7 @@
icon_living = "cow" icon_living = "cow"
icon_dead = "cow_dead" icon_dead = "cow_dead"
icon_gib = "cow_gib" icon_gib = "cow_gib"
gender = FEMALE
speak = list("moo?","moo","MOOOOOO") speak = list("moo?","moo","MOOOOOO")
speak_emote = list("moos","moos hauntingly") speak_emote = list("moos","moos hauntingly")
emote_hear = list("brays.") emote_hear = list("brays.")
@@ -159,6 +160,7 @@
icon_living = "chick" icon_living = "chick"
icon_dead = "chick_dead" icon_dead = "chick_dead"
icon_gib = "chick_gib" icon_gib = "chick_gib"
gender = FEMALE
speak = list("Cherp.","Cherp?","Chirrup.","Cheep!") speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
speak_emote = list("cheeps") speak_emote = list("cheeps")
emote_hear = list("cheeps.") emote_hear = list("cheeps.")
@@ -204,6 +206,7 @@ var/global/chicken_count = 0
/mob/living/simple_animal/chicken /mob/living/simple_animal/chicken
name = "\improper chicken" name = "\improper chicken"
desc = "Hopefully the eggs are good this season." desc = "Hopefully the eggs are good this season."
gender = FEMALE
icon_state = "chicken_brown" icon_state = "chicken_brown"
icon_living = "chicken_brown" icon_living = "chicken_brown"
icon_dead = "chicken_brown_dead" icon_dead = "chicken_brown_dead"

View File

@@ -23,4 +23,5 @@
/mob/living/simple_animal/pet/fox/Renault /mob/living/simple_animal/pet/fox/Renault
name = "Renault" name = "Renault"
desc = "Renault, the Captain's trustworthy fox." desc = "Renault, the Captain's trustworthy fox."
gender = FEMALE
gold_core_spawnable = 0 gold_core_spawnable = 0

View File

@@ -9,6 +9,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
real_name = "Guardian Spirit" real_name = "Guardian Spirit"
desc = "A mysterious being that stands by its charge, ever vigilant." desc = "A mysterious being that stands by its charge, ever vigilant."
speak_emote = list("hisses") speak_emote = list("hisses")
gender = NEUTER
bubble_icon = "guardian" bubble_icon = "guardian"
response_help = "passes through" response_help = "passes through"
response_disarm = "flails at" response_disarm = "flails at"

View File

@@ -6,6 +6,7 @@
icon_living = "alienh_s" icon_living = "alienh_s"
icon_dead = "alienh_dead" icon_dead = "alienh_dead"
icon_gib = "syndicate_gib" icon_gib = "syndicate_gib"
gender = FEMALE
response_help = "pokes" response_help = "pokes"
response_disarm = "shoves" response_disarm = "shoves"
response_harm = "hits" response_harm = "hits"

View File

@@ -38,6 +38,7 @@
//SPACE BEARS! SQUEEEEEEEE~ OW! FUCK! IT BIT MY HAND OFF!! //SPACE BEARS! SQUEEEEEEEE~ OW! FUCK! IT BIT MY HAND OFF!!
/mob/living/simple_animal/hostile/bear/Hudson /mob/living/simple_animal/hostile/bear/Hudson
name = "Hudson" name = "Hudson"
gender = MALE
desc = "Feared outlaw, this guy is one bad news bear." //I'm sorry... desc = "Feared outlaw, this guy is one bad news bear." //I'm sorry...
/mob/living/simple_animal/hostile/bear/snow /mob/living/simple_animal/hostile/bear/snow

View File

@@ -16,6 +16,7 @@
icon_state = "" icon_state = ""
icon_living = "" icon_living = ""
icon = 'icons/mob/bees.dmi' icon = 'icons/mob/bees.dmi'
gender = FEMALE
speak_emote = list("buzzes") speak_emote = list("buzzes")
emote_hear = list("buzzes") emote_hear = list("buzzes")
turns_per_move = 0 turns_per_move = 0

View File

@@ -5,6 +5,7 @@
stat_attack = 1 stat_attack = 1
status_flags = 0 status_flags = 0
a_intent = "harm" a_intent = "harm"
gender = NEUTER
var/list/boss_abilities = list() //list of /datum/action/boss var/list/boss_abilities = list() //list of /datum/action/boss
var/datum/boss_active_timed_battle/atb var/datum/boss_active_timed_battle/atb
var/point_regen_delay = 1 var/point_regen_delay = 1

View File

@@ -70,6 +70,7 @@
/mob/living/simple_animal/hostile/carp/cayenne /mob/living/simple_animal/hostile/carp/cayenne
name = "Cayenne" name = "Cayenne"
desc = "A failed Syndicate experiment in weaponized space carp technology, it now serves as a lovable mascot." desc = "A failed Syndicate experiment in weaponized space carp technology, it now serves as a lovable mascot."
gender = FEMALE
speak_emote = list("squeaks") speak_emote = list("squeaks")
gold_core_spawnable = 0 gold_core_spawnable = 0
faction = list("syndicate") faction = list("syndicate")

View File

@@ -6,6 +6,7 @@
icon_state = "eyeball" icon_state = "eyeball"
icon_living = "eyeball" icon_living = "eyeball"
icon_gib = "" icon_gib = ""
gender = NEUTER
response_help = "pets" response_help = "pets"
response_disarm = "gently pushes aside" response_disarm = "gently pushes aside"
response_harm = "hits" response_harm = "hits"

View File

@@ -4,6 +4,7 @@
icon_state = "faithless" icon_state = "faithless"
icon_living = "faithless" icon_living = "faithless"
icon_dead = "faithless_dead" icon_dead = "faithless_dead"
gender = MALE
speak_chance = 0 speak_chance = 0
turns_per_move = 5 turns_per_move = 5
response_help = "passes through" response_help = "passes through"

View File

@@ -78,6 +78,7 @@
icon_state = "nurse" icon_state = "nurse"
icon_living = "nurse" icon_living = "nurse"
icon_dead = "nurse_dead" icon_dead = "nurse_dead"
gender = FEMALE
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/spider = 2, /obj/item/weapon/reagent_containers/food/snacks/spiderleg = 8, /obj/item/weapon/reagent_containers/food/snacks/spidereggs = 4) butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/spider = 2, /obj/item/weapon/reagent_containers/food/snacks/spiderleg = 8, /obj/item/weapon/reagent_containers/food/snacks/spidereggs = 4)
maxHealth = 40 maxHealth = 40
health = 40 health = 40

View File

@@ -6,6 +6,7 @@
icon_state = "headcrab" icon_state = "headcrab"
icon_living = "headcrab" icon_living = "headcrab"
icon_dead = "headcrab_dead" icon_dead = "headcrab_dead"
gender = NEUTER
health = 50 health = 50
maxHealth = 50 maxHealth = 50
melee_damage_lower = 5 melee_damage_lower = 5

View File

@@ -9,6 +9,7 @@
icon_state = "basic" icon_state = "basic"
icon_living = "basic" icon_living = "basic"
icon_dead = "basic" icon_dead = "basic"
gender = NEUTER
health = 15 health = 15
maxHealth = 15 maxHealth = 15
healable = 0 healable = 0

View File

@@ -5,6 +5,7 @@
icon_state = "static" icon_state = "static"
icon_living = "static" icon_living = "static"
icon_dead = "null" icon_dead = "null"
gender = NEUTER
melee_damage_lower = 5 melee_damage_lower = 5
melee_damage_upper = 5 melee_damage_upper = 5
a_intent = "harm" a_intent = "harm"

View File

@@ -4,6 +4,7 @@
icon_state = "tomato" icon_state = "tomato"
icon_living = "tomato" icon_living = "tomato"
icon_dead = "tomato_dead" icon_dead = "tomato_dead"
gender = NEUTER
speak_chance = 0 speak_chance = 0
turns_per_move = 5 turns_per_move = 5
maxHealth = 30 maxHealth = 30

View File

@@ -11,6 +11,7 @@
speed = 0 speed = 0
maxHealth = 250 maxHealth = 250
health = 250 health = 250
gender = NEUTER
harm_intent_damage = 5 harm_intent_damage = 5
melee_damage_lower = 8 melee_damage_lower = 8

View File

@@ -5,6 +5,7 @@
icon_living = "old" icon_living = "old"
icon_dead = "old_dead" icon_dead = "old_dead"
icon_gib = "clown_gib" icon_gib = "clown_gib"
gender = MALE
turns_per_move = 5 turns_per_move = 5
response_help = "pokes" response_help = "pokes"
response_disarm = "gently pushes aside" response_disarm = "gently pushes aside"

View File

@@ -4,6 +4,7 @@
icon_state = "skeleton" icon_state = "skeleton"
icon_living = "skeleton" icon_living = "skeleton"
icon_dead = "skeleton" icon_dead = "skeleton"
gender = NEUTER
turns_per_move = 5 turns_per_move = 5
speak_emote = list("rattles") speak_emote = list("rattles")
emote_see = list("rattles") emote_see = list("rattles")

View File

@@ -5,6 +5,7 @@
icon_living = "stickman" icon_living = "stickman"
icon_dead = "stickman_dead" icon_dead = "stickman_dead"
icon_gib = "syndicate_gib" icon_gib = "syndicate_gib"
gender = MALE
speak_chance = 0 speak_chance = 0
turns_per_move = 5 turns_per_move = 5
response_help = "pokes" response_help = "pokes"

View File

@@ -6,6 +6,7 @@
icon_living = "pine_1" icon_living = "pine_1"
icon_dead = "pine_1" icon_dead = "pine_1"
icon_gib = "pine_1" icon_gib = "pine_1"
gender = NEUTER
speak_chance = 0 speak_chance = 0
turns_per_move = 5 turns_per_move = 5
response_help = "brushes" response_help = "brushes"

View File

@@ -2,6 +2,7 @@
name = "Shade" name = "Shade"
real_name = "Shade" real_name = "Shade"
desc = "A bound spirit" desc = "A bound spirit"
gender = NEUTER
icon = 'icons/mob/mob.dmi' icon = 'icons/mob/mob.dmi'
icon_state = "shade" icon_state = "shade"
icon_living = "shade" icon_living = "shade"

View File

@@ -3,6 +3,7 @@
icon = 'icons/mob/animal.dmi' icon = 'icons/mob/animal.dmi'
health = 20 health = 20
maxHealth = 20 maxHealth = 20
gender = PLURAL //placeholder
status_flags = CANPUSH status_flags = CANPUSH
@@ -87,6 +88,8 @@
..() ..()
handcrafting = new() handcrafting = new()
verbs -= /mob/verb/observe verbs -= /mob/verb/observe
if(gender == PLURAL)
gender = pick(MALE,FEMALE)
if(!real_name) if(!real_name)
real_name = name real_name = name
if(!loc) if(!loc)

View File

@@ -10,6 +10,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
icon_state = "grey baby slime" icon_state = "grey baby slime"
pass_flags = PASSTABLE pass_flags = PASSTABLE
ventcrawler = 2 ventcrawler = 2
gender = NEUTER
var/is_adult = 0 var/is_adult = 0
var/docile = 0 var/docile = 0
languages_spoken = SLIME | HUMAN languages_spoken = SLIME | HUMAN

View File

@@ -3,6 +3,7 @@
icon = 'icons/mob/animal.dmi' icon = 'icons/mob/animal.dmi'
health = 100 health = 100
maxHealth = 100 maxHealth = 100
gender = NEUTER
var/list/spawned_mobs = list() var/list/spawned_mobs = list()
var/max_mobs = 5 var/max_mobs = 5
var/spawn_delay = 0 var/spawn_delay = 0