Merge pull request #8844 from Rykka-Stormheart/shep-dev-scree-rabbits
Adds Knights of the Round Table, Rabbits, Killer Rabbits
@@ -261,4 +261,24 @@
|
|||||||
)
|
)
|
||||||
cost = 60
|
cost = 60
|
||||||
containertype = /obj/structure/closet/crate
|
containertype = /obj/structure/closet/crate
|
||||||
containername = "Saddlebags crate"
|
containername = "Saddlebags crate"
|
||||||
|
|
||||||
|
/datum/supply_pack/costumes/knights_gear
|
||||||
|
name = "Knights Gear"
|
||||||
|
contains = list(
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/galahad,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/lancelot,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/robin,
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume,
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume/bedevere,
|
||||||
|
/obj/item/clothing/head/helmet/combat/crusader_costume,
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere_costume,
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume,
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume/brown,
|
||||||
|
/obj/item/clothing/shoes/knight_costume,
|
||||||
|
/obj/item/clothing/shoes/knight_costume/black
|
||||||
|
)
|
||||||
|
cost = 10
|
||||||
|
containertype = /obj/structure/closet/crate
|
||||||
|
containername = "Knights Gear Crate"
|
||||||
@@ -1172,7 +1172,19 @@
|
|||||||
/obj/item/clothing/mask/gas/sexyclown = 3,
|
/obj/item/clothing/mask/gas/sexyclown = 3,
|
||||||
/obj/item/clothing/under/sexyclown = 3,
|
/obj/item/clothing/under/sexyclown = 3,
|
||||||
/obj/item/clothing/mask/gas/sexymime = 3,
|
/obj/item/clothing/mask/gas/sexymime = 3,
|
||||||
/obj/item/clothing/under/sexymime = 3)
|
/obj/item/clothing/under/sexymime = 3,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume = 3,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3,
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume = 3,
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3,
|
||||||
|
/obj/item/clothing/head/helmet/combat/crusader_costume = 3,
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere_costume = 3,
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume = 3,
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume/brown = 3,
|
||||||
|
/obj/item/clothing/shoes/knight_costume = 3,
|
||||||
|
/obj/item/clothing/shoes/knight_costume/black = 3)
|
||||||
prices = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 200,
|
prices = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 200,
|
||||||
/obj/item/clothing/suit/storage/hooded/carp_costume = 200,
|
/obj/item/clothing/suit/storage/hooded/carp_costume = 200,
|
||||||
/obj/item/clothing/suit/chickensuit = 200,
|
/obj/item/clothing/suit/chickensuit = 200,
|
||||||
@@ -1225,7 +1237,19 @@
|
|||||||
/obj/item/clothing/mask/gas/sexyclown = 600,
|
/obj/item/clothing/mask/gas/sexyclown = 600,
|
||||||
/obj/item/clothing/under/sexyclown = 200,
|
/obj/item/clothing/under/sexyclown = 200,
|
||||||
/obj/item/clothing/mask/gas/sexymime = 600,
|
/obj/item/clothing/mask/gas/sexymime = 600,
|
||||||
/obj/item/clothing/under/sexymime = 200)
|
/obj/item/clothing/under/sexymime = 200,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume = 200,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 200,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 200,
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/robin = 200,
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume = 200,
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 200,
|
||||||
|
/obj/item/clothing/head/helmet/combat/crusader_costume = 200,
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere_costume = 200,
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume = 200,
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume/brown = 200,
|
||||||
|
/obj/item/clothing/shoes/knight_costume = 200,
|
||||||
|
/obj/item/clothing/shoes/knight_costume/black = 200)
|
||||||
premium = list(/obj/item/clothing/suit/imperium_monk = 3,
|
premium = list(/obj/item/clothing/suit/imperium_monk = 3,
|
||||||
/obj/item/clothing/suit/barding/agatha = 2,
|
/obj/item/clothing/suit/barding/agatha = 2,
|
||||||
/obj/item/clothing/suit/barding/alt_agatha = 2,
|
/obj/item/clothing/suit/barding/alt_agatha = 2,
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
/mob/living/simple_mob/vore/aggressive/mimic,
|
/mob/living/simple_mob/vore/aggressive/mimic,
|
||||||
/mob/living/simple_mob/vore/aggressive/rat,
|
/mob/living/simple_mob/vore/aggressive/rat,
|
||||||
/mob/living/simple_mob/vore/aggressive/rat/tame,
|
/mob/living/simple_mob/vore/aggressive/rat/tame,
|
||||||
|
/mob/living/simple_mob/vore/rabbit,
|
||||||
// /mob/living/simple_mob/otie;0.5
|
// /mob/living/simple_mob/otie;0.5
|
||||||
))
|
))
|
||||||
return ..()
|
return ..()
|
||||||
|
|||||||
@@ -2,3 +2,43 @@
|
|||||||
desc = "A pair of gloves, they don't look special in any way."
|
desc = "A pair of gloves, they don't look special in any way."
|
||||||
item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white")
|
item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white")
|
||||||
icon_state = "latex"
|
icon_state = "latex"
|
||||||
|
|
||||||
|
// Armor Versions Here
|
||||||
|
/obj/item/clothing/gloves/combat/knight
|
||||||
|
desc = "ye olde armored gauntlets"
|
||||||
|
name = "knight gauntlets"
|
||||||
|
icon_state = "black"
|
||||||
|
item_state = "black"
|
||||||
|
siemens_coefficient = 2
|
||||||
|
permeability_coefficient = 0.05
|
||||||
|
cold_protection = HANDS
|
||||||
|
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
|
||||||
|
heat_protection = HANDS
|
||||||
|
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||||
|
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
|
||||||
|
/obj/item/clothing/gloves/combat/knight/brown
|
||||||
|
desc = "ye olde armored gauntlets"
|
||||||
|
name = "knight gauntlets"
|
||||||
|
icon_state = "brown"
|
||||||
|
item_state = "brown"
|
||||||
|
|
||||||
|
// Costume Versions Here
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume
|
||||||
|
desc = "ye olde armored gauntlets"
|
||||||
|
name = "knight gauntlets"
|
||||||
|
icon_state = "black"
|
||||||
|
item_state = "black"
|
||||||
|
siemens_coefficient = 2
|
||||||
|
permeability_coefficient = 0.05
|
||||||
|
cold_protection = HANDS
|
||||||
|
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
|
||||||
|
heat_protection = HANDS
|
||||||
|
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||||
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
|
||||||
|
/obj/item/clothing/gloves/combat/knight_costume/brown
|
||||||
|
desc = "ye olde armored gauntlets"
|
||||||
|
name = "knight gauntlets"
|
||||||
|
icon_state = "brown"
|
||||||
|
item_state = "brown"
|
||||||
@@ -27,3 +27,117 @@
|
|||||||
icon_state = "ge_helmcent"
|
icon_state = "ge_helmcent"
|
||||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
icon_override = 'icons/mob/head_vr.dmi'
|
icon_override = 'icons/mob/head_vr.dmi'
|
||||||
|
|
||||||
|
// Armor Versions Here
|
||||||
|
/obj/item/clothing/head/helmet/combat/crusader
|
||||||
|
name = "crusader helmet"
|
||||||
|
desc = "ye olde armored helmet"
|
||||||
|
icon_state = "crusader"
|
||||||
|
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 2
|
||||||
|
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere
|
||||||
|
name = "bedevere's helmet"
|
||||||
|
desc = "ye olde armored helmet"
|
||||||
|
icon_state = "bedevere_helmet"
|
||||||
|
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
tint = TINT_HEAVY
|
||||||
|
siemens_coefficient = 2
|
||||||
|
|
||||||
|
var/base_state
|
||||||
|
var/up = FALSE
|
||||||
|
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere/attack_self()
|
||||||
|
toggle()
|
||||||
|
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere/verb/toggle()
|
||||||
|
set category = "Object"
|
||||||
|
set name = "Adjust helmet visor"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
if(!base_state)
|
||||||
|
base_state = icon_state
|
||||||
|
|
||||||
|
if(usr.canmove && !usr.stat && !usr.restrained())
|
||||||
|
if(src.up)
|
||||||
|
src.up = !src.up
|
||||||
|
body_parts_covered |= (EYES|FACE)
|
||||||
|
flags_inv |= (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||||
|
icon_state = base_state
|
||||||
|
tint = initial(tint)
|
||||||
|
to_chat(usr, "You flip the [src] down to protect yourself from the horrors of this universe. Narry a creature shall harm you with its beams of light.")
|
||||||
|
playsound(src, 'sound/machines/hatch_open.ogg', 75, 1)
|
||||||
|
else
|
||||||
|
src.up = !src.up
|
||||||
|
body_parts_covered &= ~(EYES|FACE)
|
||||||
|
flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||||
|
icon_state = "[base_state]_up"
|
||||||
|
tint = TINT_NONE
|
||||||
|
to_chat(usr, "You push the [src] up out of your face, ineffectively clearing your vision.")
|
||||||
|
playsound(src, 'sound/machines/hatch_open.ogg', 75, 1)
|
||||||
|
update_clothing_icon() //so our mob-overlays
|
||||||
|
if (ismob(src.loc)) //should allow masks to update when it is opened/closed
|
||||||
|
var/mob/M = src.loc
|
||||||
|
M.update_inv_wear_mask()
|
||||||
|
usr.update_action_buttons()
|
||||||
|
|
||||||
|
// Costume Versions Here
|
||||||
|
/obj/item/clothing/head/helmet/combat/crusader_costume
|
||||||
|
name = "crusader costume helmet"
|
||||||
|
desc = "ye olde armored helmet"
|
||||||
|
icon_state = "crusader"
|
||||||
|
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 1
|
||||||
|
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere_costume
|
||||||
|
name = "bedevere's costume helmet"
|
||||||
|
desc = "ye olde armored helmet"
|
||||||
|
icon_state = "bedevere_helmet"
|
||||||
|
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/hats_vr.dmi'
|
||||||
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
tint = TINT_HEAVY
|
||||||
|
siemens_coefficient = 1
|
||||||
|
|
||||||
|
var/base_state
|
||||||
|
var/up = FALSE
|
||||||
|
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere_costume/attack_self()
|
||||||
|
toggle()
|
||||||
|
|
||||||
|
/obj/item/clothing/head/helmet/combat/bedevere_costume/verb/toggle()
|
||||||
|
set category = "Object"
|
||||||
|
set name = "Adjust helmet visor"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
if(!base_state)
|
||||||
|
base_state = icon_state
|
||||||
|
|
||||||
|
if(usr.canmove && !usr.stat && !usr.restrained())
|
||||||
|
if(src.up)
|
||||||
|
src.up = !src.up
|
||||||
|
body_parts_covered |= (EYES|FACE)
|
||||||
|
flags_inv |= (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||||
|
icon_state = base_state
|
||||||
|
tint = initial(tint)
|
||||||
|
to_chat(usr, "You flip the [src] down to protect yourself from the horrors of this universe. Narry a creature shall harm you with its beams of light.")
|
||||||
|
playsound(src, 'sound/machines/hatch_open.ogg', 75, 1)
|
||||||
|
else
|
||||||
|
src.up = !src.up
|
||||||
|
body_parts_covered &= ~(EYES|FACE)
|
||||||
|
flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||||
|
icon_state = "[base_state]_up"
|
||||||
|
tint = TINT_NONE
|
||||||
|
to_chat(usr, "You push the [src] up out of your face, ineffectively clearing your vision.")
|
||||||
|
playsound(src, 'sound/machines/hatch_open.ogg', 75, 1)
|
||||||
|
update_clothing_icon() //so our mob-overlays
|
||||||
|
if (ismob(src.loc)) //should allow masks to update when it is opened/closed
|
||||||
|
var/mob/M = src.loc
|
||||||
|
M.update_inv_wear_mask()
|
||||||
|
usr.update_action_buttons()
|
||||||
@@ -1,3 +1,29 @@
|
|||||||
/obj/item/clothing/head/hood/techpriest
|
/obj/item/clothing/head/hood/techpriest
|
||||||
name = "techpriest hood"
|
name = "techpriest hood"
|
||||||
armor = list(melee = 20, bullet = 10, laser = 10, energy = 10, bomb = 25, bio = 50, rad = 25)
|
armor = list(melee = 20, bullet = 10, laser = 10, energy = 10, bomb = 25, bio = 50, rad = 25)
|
||||||
|
|
||||||
|
// Armor versions here
|
||||||
|
/obj/item/clothing/head/hood/galahad
|
||||||
|
name = "galahad hood"
|
||||||
|
armor = list(melee = 80, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 2
|
||||||
|
|
||||||
|
/obj/item/clothing/head/hood/lancelot
|
||||||
|
name = "lancelot hood"
|
||||||
|
armor = list(melee = 80, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 2
|
||||||
|
|
||||||
|
/obj/item/clothing/head/hood/robin
|
||||||
|
name = "robin hood"
|
||||||
|
armor = list(melee = 80, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 3
|
||||||
|
|
||||||
|
// Costume Versions Here
|
||||||
|
/obj/item/clothing/head/hood/galahad_costume
|
||||||
|
name = "galahad costume hood"
|
||||||
|
|
||||||
|
/obj/item/clothing/head/hood/lancelot_costume
|
||||||
|
name = "lancelot costume hood"
|
||||||
|
|
||||||
|
/obj/item/clothing/head/hood/robin_costume
|
||||||
|
name = "robin costume hood"
|
||||||
@@ -58,4 +58,35 @@
|
|||||||
else if(shoes)
|
else if(shoes)
|
||||||
slowdown = shoes.slowdown
|
slowdown = shoes.slowdown
|
||||||
else
|
else
|
||||||
slowdown = SHOES_SLOWDOWN
|
slowdown = SHOES_SLOWDOWN
|
||||||
|
|
||||||
|
// Armor Versions Here
|
||||||
|
/obj/item/clothing/shoes/knight
|
||||||
|
name = "knight boots"
|
||||||
|
desc = "A pair of olde knight boots."
|
||||||
|
icon_state = "knight_boots1"
|
||||||
|
item_state = "knight_boots1"
|
||||||
|
icon = 'icons/obj/clothing/shoes_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/shoes_vr.dmi'
|
||||||
|
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
|
||||||
|
/obj/item/clothing/shoes/knight/black
|
||||||
|
name = "knight boots"
|
||||||
|
desc = "A pair of olde knight boots."
|
||||||
|
icon_state = "knight_boots2"
|
||||||
|
item_state = "knight_boots2"
|
||||||
|
|
||||||
|
// Costume Versions Here
|
||||||
|
/obj/item/clothing/shoes/knight_costume
|
||||||
|
name = "knight boots"
|
||||||
|
desc = "A pair of olde knight boots."
|
||||||
|
icon_state = "knight_boots1"
|
||||||
|
item_state = "knight_boots1"
|
||||||
|
icon = 'icons/obj/clothing/shoes_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/shoes_vr.dmi'
|
||||||
|
|
||||||
|
/obj/item/clothing/shoes/knight_costume/black
|
||||||
|
name = "knight boots"
|
||||||
|
desc = "A pair of olde knight boots."
|
||||||
|
icon_state = "knight_boots2"
|
||||||
|
item_state = "knight_boots2"
|
||||||
@@ -85,3 +85,37 @@
|
|||||||
/obj/item/clothing/suit/storage/vest/hoscoat/jensen/alt
|
/obj/item/clothing/suit/storage/vest/hoscoat/jensen/alt
|
||||||
icon = 'icons/obj/clothing/suits_vr.dmi'
|
icon = 'icons/obj/clothing/suits_vr.dmi'
|
||||||
icon_override = 'icons/mob/suit_vr.dmi'
|
icon_override = 'icons/mob/suit_vr.dmi'
|
||||||
|
|
||||||
|
// Armor Versions Here
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader
|
||||||
|
name = "crusader armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "crusader"
|
||||||
|
icon = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||||
|
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 2
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader/bedevere
|
||||||
|
name = "bedevere's armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "bedevere"
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||||
|
|
||||||
|
// Costume Versions Here
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume
|
||||||
|
name = "crusader costume armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "crusader"
|
||||||
|
icon = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||||
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 1
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/armor/combat/crusader_costume/bedevere
|
||||||
|
name = "bedevere's costume armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "bedevere"
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||||
@@ -11,3 +11,60 @@
|
|||||||
hoodtype = /obj/item/clothing/head/hood/techpriest
|
hoodtype = /obj/item/clothing/head/hood/techpriest
|
||||||
armor = list(melee = 20, bullet = 10, laser = 10, energy = 10, bomb = 25, bio = 50, rad = 25)
|
armor = list(melee = 20, bullet = 10, laser = 10, energy = 10, bomb = 25, bio = 50, rad = 25)
|
||||||
item_state_slots = list(slot_r_hand_str = "engspace_suit", slot_l_hand_str = "engspace_suit")
|
item_state_slots = list(slot_r_hand_str = "engspace_suit", slot_l_hand_str = "engspace_suit")
|
||||||
|
|
||||||
|
// Regular armor versions here, costumes below
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight
|
||||||
|
name = "crusader's armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "galahad"
|
||||||
|
icon = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/galahad
|
||||||
|
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
siemens_coefficient = 2
|
||||||
|
action_button_name = "Toggle Knight Headgear"
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight/galahad
|
||||||
|
name = "crusader's armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "galahad"
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/galahad
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight/lancelot
|
||||||
|
name = "crusader's armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "lancelot"
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/lancelot
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight/robin
|
||||||
|
name = "crusader's armor"
|
||||||
|
desc = "ye olde knight, risen again. This one seems slightly faster than the rest, but weaker."
|
||||||
|
icon_state = "robin"
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/robin
|
||||||
|
armor = list(melee = 70, bullet = 40, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
slowdown = -1
|
||||||
|
siemens_coefficient = 3
|
||||||
|
|
||||||
|
// Costume Knight Gear Here
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume
|
||||||
|
name = "crusader's costume armor"
|
||||||
|
desc = "ye olde knight, risen again."
|
||||||
|
icon_state = "galahad"
|
||||||
|
icon = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
icon_override = 'icons/obj/clothing/knights_vr.dmi'
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/galahad_costume
|
||||||
|
action_button_name = "Toggle Knight Headgear"
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/galahad
|
||||||
|
icon_state = "galahad"
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/galahad_costume
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/lancelot
|
||||||
|
icon_state = "lancelot"
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/lancelot_costume
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/knight_costume/robin
|
||||||
|
name = "crusader's armor"
|
||||||
|
desc = "ye olde knight, risen again. This one seems slightly faster than the rest, but weaker."
|
||||||
|
icon_state = "robin"
|
||||||
|
hoodtype = /obj/item/clothing/head/hood/robin_costume
|
||||||
150
code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
/datum/category_item/catalogue/fauna/rabbit //TODO: VIRGO_LORE_WRITING_WIP
|
||||||
|
name = "Wildlife - Rabbit"
|
||||||
|
desc = ""
|
||||||
|
value = CATALOGUER_REWARD_TRIVIAL
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit
|
||||||
|
name = "rabbit"
|
||||||
|
desc = "It's a fluffy, smol bunny! Adorable!"
|
||||||
|
tt_desc = "Vulpes zerda"
|
||||||
|
|
||||||
|
icon_state = "rabbit_brown"
|
||||||
|
icon_living = "rabbit_brown"
|
||||||
|
icon_dead = "rabbit_brown_dead"
|
||||||
|
icon_rest = "rabbit_brown_rest"
|
||||||
|
icon = 'icons/mob/vore.dmi'
|
||||||
|
|
||||||
|
faction = "rabbit"
|
||||||
|
maxHealth = 30
|
||||||
|
health = 30
|
||||||
|
|
||||||
|
response_help = "pats"
|
||||||
|
response_disarm = "gently pushes aside"
|
||||||
|
response_harm = "hits"
|
||||||
|
|
||||||
|
harm_intent_damage = 5
|
||||||
|
melee_damage_lower = 1
|
||||||
|
melee_damage_upper = 3
|
||||||
|
attacktext = list("nipped")
|
||||||
|
|
||||||
|
movement_cooldown = 3
|
||||||
|
|
||||||
|
say_list_type = /datum/say_list/rabbit
|
||||||
|
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
||||||
|
|
||||||
|
// Vore vars
|
||||||
|
vore_active = 1
|
||||||
|
vore_bump_chance = 10
|
||||||
|
vore_bump_emote = "playfully lunges at"
|
||||||
|
vore_pounce_chance = 40
|
||||||
|
vore_pounce_maxhealth = 100 // They won't pounce by default, as they're passive. This is just so the nom check succeeds. :u
|
||||||
|
vore_default_mode = DM_HOLD
|
||||||
|
vore_icons = SA_ICON_LIVING
|
||||||
|
|
||||||
|
var/body_color //brown, black and white, leave blank for random
|
||||||
|
|
||||||
|
var/grumpiness = 0 // This determines how grumpy we are. Pet us to increase it, leave us alone to decrease.
|
||||||
|
var/last_pet // This tracks the last time someone patted us.
|
||||||
|
var/grump_decay = 5 SECONDS // This is how quickly our grumpiness decays.
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/New()
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
if(!body_color)
|
||||||
|
body_color = pick( list("brown","black","white") )
|
||||||
|
icon_state = "rabbit_[body_color]"
|
||||||
|
item_state = "rabbit_[body_color]"
|
||||||
|
icon_living = "rabbit_[body_color]"
|
||||||
|
icon_dead = "rabbit_[body_color]_dead"
|
||||||
|
icon_rest = "rabbit_[body_color]_rest"
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/Life()
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
if(grumpiness > 0 && last_pet > (world.time + grump_decay))
|
||||||
|
grumpiness = max(0, grumpiness-rand(5,10)) // Subtract grumpiness randomly in a range of 5-10 if we've not been PAT in the last 5 seconds.
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/examine(mob/user)
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
switch(grumpiness)
|
||||||
|
if(-INFINITY to 25)
|
||||||
|
. += "They appear calm."
|
||||||
|
if(26 to 50)
|
||||||
|
. += "They seem slightly annoyed."
|
||||||
|
if(51 to 75)
|
||||||
|
. += "They seem very annoyed, perhaps you should stop petting them."
|
||||||
|
if(75 to INFINITY)
|
||||||
|
. += "They are very angry. Petting them will likely result in unpleasant things."
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/attack_hand(mob/user)
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
if(user.a_intent == I_HELP) // only patpet on help. :p
|
||||||
|
grumpiness = CLAMP(grumpiness + rand(5, 10), 0, 120)
|
||||||
|
last_pet = world.time
|
||||||
|
|
||||||
|
if(grumpiness > 90) // Annoyed bunbun :U
|
||||||
|
var/pounce_chance = CanPounceTarget(user)
|
||||||
|
if(pounce_chance)
|
||||||
|
PounceTarget(user, pounce_chance)
|
||||||
|
|
||||||
|
/datum/say_list/rabbit
|
||||||
|
speak = list("chrrrs.")
|
||||||
|
emote_hear = list("screms.")
|
||||||
|
emote_see = list("earflicks","wiggles it's tail", "wiggles its nose")
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/black
|
||||||
|
icon_state = "rabbit_black"
|
||||||
|
icon_living = "rabbit_black"
|
||||||
|
icon_dead = "rabbit_black_dead"
|
||||||
|
icon_rest = "rabbit_black_rest"
|
||||||
|
body_color = "black"
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/white
|
||||||
|
icon_state = "rabbit_white"
|
||||||
|
icon_living = "rabbit_white"
|
||||||
|
icon_dead = "rabbit_white_dead"
|
||||||
|
icon_rest = "rabbit_white_rest"
|
||||||
|
body_color = "white"
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/brown
|
||||||
|
icon_state = "rabbit_brown"
|
||||||
|
icon_living = "rabbit_brown"
|
||||||
|
icon_dead = "rabbit_brown_dead"
|
||||||
|
icon_rest = "rabbit_brown_rest"
|
||||||
|
body_color = "brown"
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/white/lennie
|
||||||
|
name = "Lennie"
|
||||||
|
desc = "A large but somewhat dumb-looking rabbit. Has a little collar that says 'Lennie'!"
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/brown/george
|
||||||
|
name = "George"
|
||||||
|
desc = "A small and quick bunny with a restless expression in its eyes. Has a little collar that says 'George'!"
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/killer
|
||||||
|
icon_state = "rabbit_killer"
|
||||||
|
icon_living = "rabbit_killer"
|
||||||
|
icon_dead = "rabbit_killer_dead"
|
||||||
|
icon_rest = "rabbit_killer_rest"
|
||||||
|
|
||||||
|
maxHealth = 2000
|
||||||
|
health = 2000
|
||||||
|
harm_intent_damage = 5
|
||||||
|
melee_damage_lower = 1
|
||||||
|
melee_damage_upper = 3
|
||||||
|
attacktext = list("nipped")
|
||||||
|
|
||||||
|
movement_cooldown = 0.5 // very fast bunbun.
|
||||||
|
|
||||||
|
vore_pounce_chance = 100
|
||||||
|
vore_pounce_falloff = 0.2
|
||||||
|
|
||||||
|
body_color = "killer" // Set this so New() doesn't try to randomize us.
|
||||||
|
|
||||||
|
say_list_type = /datum/say_list/rabbit
|
||||||
|
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
|
||||||
|
|
||||||
|
/mob/living/simple_mob/vore/rabbit/killer/ex_act()
|
||||||
|
gib()
|
||||||
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 632 B After Width: | Height: | Size: 894 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
BIN
icons/obj/clothing/knights_vr.dmi
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 859 B After Width: | Height: | Size: 1.1 KiB |
51
maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"e" = (/mob/living/simple_mob/vore/rabbit/killer,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"g" = (/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"h" = (/turf/simulated/mineral/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"m" = (/obj/item/weapon/bone/skull,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"n" = (/obj/item/clothing/suit/storage/hooded/knight/galahad,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"q" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone,/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"r" = (/obj/item/weapon/bone,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"s" = (/obj/item/weapon/bone/ribs,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"t" = (/obj/effect/gibspawner/human,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"u" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"v" = (/obj/item/weapon/grenade/explosive/frag,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"y" = (/obj/item/weapon/bone,/obj/item/weapon/bone/ribs,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"A" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"C" = (/obj/item/clothing/suit/storage/hooded/knight/lancelot,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"E" = (/obj/item/clothing/suit/armor/combat/crusader/bedevere,/obj/item/clothing/head/helmet/combat/bedevere,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"F" = (/obj/item/weapon/bone,/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"I" = (/obj/item/clothing/suit/storage/hooded/knight/robin,/obj/effect/decal/cleanable/blood/splatter,/obj/item/clothing/shoes/knight,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"J" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone/ribs,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"K" = (/obj/item/clothing/suit/armor/combat/crusader,/obj/item/clothing/head/helmet/combat/crusader,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"L" = (/obj/structure/barricade/cutout/fukken_xeno,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"P" = (/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"Q" = (/obj/item/weapon/bone,/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"T" = (/obj/structure/barricade,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"U" = (/obj/item/weapon/bone/ribs,/obj/item/clothing/suit/storage/hooded/knight,/obj/item/weapon/bone/skull,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"V" = (/obj/item/weapon/bone,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
"Y" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aahhhhhhhhhhhhhhhhaa
|
||||||
|
aahhhhhhhhhhhhhhhhaa
|
||||||
|
aahhhhhhhhhhhhhhhhaa
|
||||||
|
aahhhgggggegtmghhhaa
|
||||||
|
ahhhgggggggggEgghhha
|
||||||
|
ahhhgsggghhggtgbhhha
|
||||||
|
ahhhmIVgghhgmKgghhha
|
||||||
|
ahhhgtgggggggggthhha
|
||||||
|
ahhhgggUggggggCmhhha
|
||||||
|
ahhhgntgggVggggghhha
|
||||||
|
ahhhgmggghhggggghhha
|
||||||
|
aahhhhggbhhggghhhhaa
|
||||||
|
aahhhhgghhhhgghhhhaa
|
||||||
|
aahhhhgghhhhgghhhhaa
|
||||||
|
aagbhhggvhhvgVhhLgaa
|
||||||
|
aaaghhggghhTTThhgaaa
|
||||||
|
aaaahhTThhhhYThhaaaa
|
||||||
|
aaaamqThhhhhhJbmaaaa
|
||||||
|
aaaaguAFhhhhPryraaaa
|
||||||
|
aaaaggggQhhrgrPraaaa
|
||||||
|
"}
|
||||||
@@ -234,6 +234,13 @@
|
|||||||
cost = 5
|
cost = 5
|
||||||
allow_duplicates = TRUE
|
allow_duplicates = TRUE
|
||||||
template_group = "Underground Cliffs"
|
template_group = "Underground Cliffs"
|
||||||
|
|
||||||
|
/datum/map_template/surface/mountains/normal/deadly_rabbit // VOREStation Edit
|
||||||
|
name = "The Killer Rabbit"
|
||||||
|
desc = "A cave where the Knights of the Round have fallen to a murderous Rabbit."
|
||||||
|
mappath = 'maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm'
|
||||||
|
cost = 5
|
||||||
|
allow_duplicates = FALSE
|
||||||
|
|
||||||
/**************
|
/**************
|
||||||
* Deep Caves *
|
* Deep Caves *
|
||||||
|
|||||||
@@ -2814,6 +2814,7 @@
|
|||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\mimic.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\mimic.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\otie.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\otie.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\panther.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\panther.dm"
|
||||||
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\rabbit.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\rat.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\rat.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\redpanda.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\redpanda.dm"
|
||||||
#include "code\modules\mob\living\simple_mob\subtypes\vore\snake.dm"
|
#include "code\modules\mob\living\simple_mob\subtypes\vore\snake.dm"
|
||||||
|
|||||||