PoI Stage 0.5

Doing this in smaller bits

- New random sif mob selector, peaceful animals
- Drone lootpile (basic placeholder loot right now until we figure out how to give them proper drone loot)
- New random spider mob selector, nurse spider and nurse hat spider (hat spider has 10 more health points and is a rare chance to spawn, woo)
- New spacesuit random spawn, medical space suits
- New Random Shotgun spawn
- New random gun spawns
- Fixed icon for random medicine spawn
- Fixed broken icon for 44 magazines
- Fixed Ice Cave dungeon walls being called 'steel'
- Added new Crystal type, to avoid the SM style crystal from spawning in crystal PoIs
This commit is contained in:
Woodratt
2018-04-25 22:10:39 -07:00
parent 4df02c9160
commit c32bcf785a
12 changed files with 403 additions and 7 deletions

View File

@@ -1,6 +1,16 @@
/obj/random/gun/random
name = "Random Weapon"
desc = "This is a random energy or ballistic weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "energystun100"
/obj/random/gun/random/item_to_spawn()
return pick(prob(5);/obj/random/energy,
prob(5);/obj/random/projectile/random)
/obj/random/energy
name = "Random Energy Weapon"
desc = "This is a random security weapon."
desc = "This is a random weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "energykill100"
@@ -83,6 +93,18 @@
prob(2);/obj/item/weapon/gun/projectile/automatic/wt550,
prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat)
/obj/random/projectile/shotgun
name = "Random Projectile Weapon"
desc = "This is a random projectile weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "shotgun"
/obj/random/projectile/item_to_spawn()
return pick(prob(4);/obj/item/weapon/gun/projectile/shotgun/doublebarrel,
prob(3);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn,
prob(3);/obj/item/weapon/gun/projectile/shotgun/pump,
prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat)
/obj/random/handgun
name = "Random Handgun"
desc = "This is a random sidearm."
@@ -126,4 +148,256 @@
prob(4);/obj/item/ammo_magazine/m45/rubber,
prob(4);/obj/item/ammo_magazine/m45/flash,
prob(2);/obj/item/ammo_magazine/m9mmt,
prob(6);/obj/item/ammo_magazine/m9mmt/rubber)
prob(6);/obj/item/ammo_magazine/m9mmt/rubber)
/obj/random/projectile/random
name = "Random Projectile Weapon"
desc = "This is a random weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
/obj/random/projectile/random/item_to_spawn()
return pick(prob(3);/obj/random/multiple/gun/projectile/handgun,
prob(2);/obj/random/multiple/gun/projectile/smg,
prob(2);/obj/random/multiple/gun/projectile/shotgun,
prob(1);/obj/random/multiple/gun/projectile/rifle)
/obj/random/multiple/gun/projectile/smg
name = "random smg projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "saber"
/obj/random/multiple/gun/projectile/smg/item_to_spawn()
return pick(
prob(3);list(
/obj/item/weapon/gun/projectile/automatic/wt550,
/obj/item/ammo_magazine/m9mmt,
/obj/item/ammo_magazine/m9mmt
),
prob(3);list(
/obj/item/weapon/gun/projectile/automatic/mini_uzi,
/obj/item/ammo_magazine/m45uzi,
/obj/item/ammo_magazine/m45uzi
),
prob(3);list(
/obj/item/weapon/gun/projectile/automatic/tommygun,
/obj/item/ammo_magazine/m45tommy,
/obj/item/ammo_magazine/m45tommy
),
prob(2);list(
/obj/item/weapon/gun/projectile/automatic/c20r,
/obj/item/ammo_magazine/m10mm,
/obj/item/ammo_magazine/m10mm
),
prob(1);list(
/obj/item/weapon/gun/projectile/automatic/p90,
/obj/item/ammo_magazine/m9mmp90
)
)
/obj/random/multiple/gun/projectile/rifle
name = "random rifle projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "carbine"
//Concerns about the bullpup, but currently seems to be only a slightly stronger z8. But we shall see.
/obj/random/multiple/gun/projectile/rifle/item_to_spawn()
return pick(
prob(2);list(
/obj/item/weapon/gun/projectile/automatic/sts35,
/obj/item/ammo_magazine/m545,
/obj/item/ammo_magazine/m545
),
prob(2);list(
/obj/item/weapon/gun/projectile/automatic/z8,
/obj/item/ammo_magazine/m762,
/obj/item/ammo_magazine/m762
),
prob(4);list(
/obj/item/weapon/gun/projectile/shotgun/pump/rifle,
/obj/item/ammo_magazine/clip/c762,
/obj/item/ammo_magazine/clip/c762
),
prob(3);list(
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,
/obj/item/ammo_magazine/clip/c762,
/obj/item/ammo_magazine/clip/c762
),
prob(1);list(
/obj/item/weapon/gun/projectile/garand,
/obj/item/ammo_magazine/m762garand,
/obj/item/ammo_magazine/m762garand
),
prob(1);list(
/obj/item/weapon/gun/projectile/automatic/bullpup,
/obj/item/ammo_magazine/m762,
/obj/item/ammo_magazine/m762
)
)
/obj/random/multiple/gun/projectile/handgun
name = "random handgun projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
/obj/random/multiple/gun/projectile/handgun/item_to_spawn()
return pick(
prob(5);list(
/obj/item/weapon/gun/projectile/colt,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(4);list(
/obj/item/weapon/gun/projectile/contender,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(3);list(
/obj/item/weapon/gun/projectile/contender/tacticool,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(2);list(
/obj/item/weapon/gun/projectile/deagle,
/obj/item/ammo_magazine/m44,
/obj/item/ammo_magazine/m44
),
prob(1);list(
/obj/item/weapon/gun/projectile/deagle/camo,
/obj/item/ammo_magazine/m44,
/obj/item/ammo_magazine/m44
),
prob(1);list(
/obj/item/weapon/gun/projectile/deagle/gold,
/obj/item/ammo_magazine/m44,
/obj/item/ammo_magazine/m44
),
prob(4);list(
/obj/item/weapon/gun/projectile/derringer,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(5);list(
/obj/item/weapon/gun/projectile/luger,
/obj/item/ammo_magazine/m9mm/compact,
/obj/item/ammo_magazine/m9mm/compact
),
prob(4);list(
/obj/item/weapon/gun/projectile/luger/brown,
/obj/item/ammo_magazine/m9mm/compact,
/obj/item/ammo_magazine/m9mm/compact
),
prob(5);list(
/obj/item/weapon/gun/projectile/sec,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(4);list(
/obj/item/weapon/gun/projectile/sec/wood,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(5);list(
/obj/item/weapon/gun/projectile/p92x,
/obj/item/ammo_magazine/m9mm,
/obj/item/ammo_magazine/m9mm
),
prob(4);list(
/obj/item/weapon/gun/projectile/p92x/brown,
/obj/item/ammo_magazine/m9mm,
/obj/item/ammo_magazine/m9mm
),
prob(2);list(
/obj/item/weapon/gun/projectile/p92x/large,
/obj/item/ammo_magazine/m9mm/large,
/obj/item/ammo_magazine/m9mm/large
),
prob(5);list(
/obj/item/weapon/gun/projectile/pistol,
/obj/item/ammo_magazine/m9mm/compact,
/obj/item/ammo_magazine/m9mm/compact
),
prob(2);list(
/obj/item/weapon/gun/projectile/silenced,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(4);list(
/obj/item/weapon/gun/projectile/revolver/deckard,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/s38
),
prob(4);list(
/obj/item/weapon/gun/projectile/revolver/detective,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/s38
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/judge,
/obj/item/ammo_magazine/clip/c12g,
/obj/item/ammo_magazine/clip/c12g,
/obj/item/ammo_magazine/clip/c12g
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/lemat,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/clip/c12g
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/mateba,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/webley,
/obj/item/ammo_magazine/s44,
/obj/item/ammo_magazine/s44
),
prob(1);list(
/obj/item/weapon/gun/projectile/revolver/webley/auto,
/obj/item/ammo_magazine/s44,
/obj/item/ammo_magazine/s44
)
)
/obj/random/multiple/gun/projectile/shotgun
name = "random shotgun projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "shotgun"
/obj/random/multiple/gun/projectile/shotgun/item_to_spawn()
return pick(
prob(4);list(
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet
),
prob(3);list(
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet
),
prob(3);list(
/obj/item/weapon/gun/projectile/shotgun/pump/slug,
/obj/item/weapon/storage/box/shotgunammo
),
prob(1);list(
/obj/item/weapon/gun/projectile/shotgun/pump/combat,
/obj/item/weapon/storage/box/shotgunammo
)
)

View File

@@ -92,8 +92,8 @@
/obj/random/multiple/minevault
name = "random vault loot"
desc = "Loot for mine vaults."
icon = 'icons/misc/mark.dmi'
icon_state = "rup"
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
/obj/random/multiple/minevault/item_to_spawn()
return pick(

View File

@@ -159,8 +159,8 @@
/obj/random/medical
name = "Random Medicine"
desc = "This is a random medical item."
icon = 'icons/obj/items.dmi'
icon_state = "advfirstaid"
icon = 'icons/obj/stacks.dmi'
icon_state = "traumakit"
/obj/random/medical/item_to_spawn()
return pick(prob(21);/obj/random/medical/lite,

View File

@@ -74,6 +74,23 @@
prob(1);/mob/living/simple_animal/hostile/goose,
prob(20);/mob/living/simple_animal/giant_crab)
/obj/random/mob/sif/peaceful
name = "Random Peaceful Sif Animal"
desc = "This is a random peaceful cold weather animal."
icon_state = "penguin"
mob_returns_home = 1
mob_wander_distance = 12
/obj/random/mob/sif/peaceful/item_to_spawn()
return pick(prob(30);/mob/living/simple_animal/retaliate/diyaab,
prob(15);/mob/living/simple_animal/crab,
prob(15);/mob/living/simple_animal/penguin,
prob(15);/mob/living/simple_animal/mouse,
prob(15);/mob/living/simple_animal/corgi/tamaskan,
prob(20);/mob/living/simple_animal/giant_crab)
/obj/random/mob/sif/hostile
name = "Random Hostile Sif Animal"
desc = "This is a random hostile cold weather animal."
@@ -97,6 +114,18 @@
prob(33);/mob/living/simple_animal/hostile/giant_spider/hunter,
prob(45);/mob/living/simple_animal/hostile/giant_spider)
/obj/random/mob/spider/nurse
name = "Random Nurse Spider"
desc = "This is a random nurse spider."
icon_state = "nurse"
mob_returns_home = 1
mob_wander_distance = 4
/obj/random/mob/spider/nurse/item_to_spawn()
return pick(prob(22);/mob/living/simple_animal/hostile/giant_spider/nurse/hat,
prob(45);/mob/living/simple_animal/hostile/giant_spider/nurse)
/obj/random/mob/spider/mutant
name = "Random Mutant Spider"
desc = "This is a random mutated spider."

View File

@@ -97,6 +97,31 @@
)
)
/obj/random/multiple/voidsuit/medical
name = "Random Mining Voidsuit"
desc = "This is a random mining voidsuit."
icon = 'icons/obj/clothing/suits.dmi'
icon_state = "rig-mining"
/obj/random/multiple/voidsuit/medical/item_to_spawn()
return pick(
prob(5);list(
/obj/item/clothing/suit/space/void/medical,
/obj/item/clothing/head/helmet/space/void/medical
),
prob(1);list(
/obj/item/clothing/suit/space/void/medical/alt,
/obj/item/clothing/head/helmet/space/void/medical/alt
),
prob(3);list(
/obj/item/clothing/suit/space/void/medical/bio,
/obj/item/clothing/head/helmet/space/void/medical/bio
),
prob(4);list(
/obj/item/clothing/suit/space/void/medical/emt,
/obj/item/clothing/head/helmet/space/void/medical/emt
)
)
/obj/random/rigsuit
name = "Random rigsuit"