mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-15 17:07:44 +01:00
**Overview:** The first huge fuckoff mapping PR for giving the Horizon enough extra space to be able to comfortably map on it for the duration before NBT2 and not be super cramped (extends aft by 6 turfs). Includes a SECOND vault to heist at the back of the ship and a lot of maint area people can repurpose. Notably, this also removes the Xenobio Hazardous Containment room and the Medical Emergency Storage room (contents of the latter have been moved). Otherwise, y'all got more ship. **Map Images (OUTDATED NOW):** <img width="2453" height="868" alt="Screenshot 2025-10-16 141649" src="https://github.com/user-attachments/assets/be9a540d-af92-46b4-b59f-e298204a678a" /> <img width="2450" height="940" alt="Screenshot 2025-10-16 141702" src="https://github.com/user-attachments/assets/b96f3f3e-dd4b-4457-9c5c-1f09f8bb7a00" /> <img width="2452" height="895" alt="Screenshot 2025-10-16 141714" src="https://github.com/user-attachments/assets/9a16e55d-8386-46d9-a3d3-d4e5a0ff6ec0" /> **Misc Features:** <img width="1069" height="685" alt="Screenshot 2025-10-16 141727" src="https://github.com/user-attachments/assets/89c14f85-f476-4f91-bd02-7c36f36a4418" /> <img width="983" height="825" alt="Screenshot 2025-10-16 141736" src="https://github.com/user-attachments/assets/6b20da20-982c-4ec1-b252-3507f1211e94" /> <img width="1382" height="951" alt="Screenshot 2025-10-16 141743" src="https://github.com/user-attachments/assets/fdfd683d-33a4-47e3-9df8-dec1f9286598" /> <img width="2405" height="863" alt="Screenshot 2025-10-16 141803" src="https://github.com/user-attachments/assets/c539c4bd-4a8f-4326-a30b-5a1d09eca26b" /> **changes:** - qol: "Hugely expands the Horizon's maints and adjusts/expands much of the aft of the ship." - rscadd: "Adds a new Vault to Horizon (Deck 3 aft, behind the Gym)." - rscdel: "Removes Xenobiology Hazardous Specimens compartment." - rscdel: "Removes Medical Emergency Storage compartment." - spellcheck: "Replaces a few mentions of 'room' with 'compartment.'" - spellcheck: "Renames the Bridge Break Room to Bridge Wardroom." - spellcheck: "Renames the Kitchen to the Galley." - spellcheck: "Renames the Dining Hall to the Mess Hall." - spellcheck: "Renames each Washroom to the Head."
190 lines
6.0 KiB
Plaintext
190 lines
6.0 KiB
Plaintext
/*
|
|
* Knives. They stab your eyes out, and fit into boots. Copypasted the screwdriver code
|
|
*/
|
|
/obj/item/material/knife
|
|
name = "chef's knife"
|
|
icon = 'icons/obj/kitchen.dmi'
|
|
contained_sprite = TRUE
|
|
icon_state = "knife"
|
|
item_state = "knife"
|
|
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
|
|
obj_flags = OBJ_FLAG_CONDUCTABLE
|
|
sharp = 1
|
|
edge = TRUE
|
|
var/active = 1 // For butterfly knives
|
|
force_divisor = 0.15 // 9 when wielded with hardness 60 (steel)
|
|
matter = list(DEFAULT_WALL_MATERIAL = 12000)
|
|
origin_tech = list(TECH_MATERIAL = 1)
|
|
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
unbreakable = 1
|
|
drop_sound = 'sound/items/drop/knife.ogg'
|
|
pickup_sound = 'sound/items/pickup/knife.ogg'
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
surgerysound = 'sound/items/surgery/scalpel.ogg'
|
|
|
|
/obj/item/material/knife/bloody/Initialize()
|
|
. = ..()
|
|
src.add_blood()
|
|
|
|
/obj/item/material/knife/attack(mob/living/target_mob, mob/living/user, target_zone)
|
|
if(active == 1)
|
|
if((target_zone != BP_EYES && target_zone != BP_HEAD) || target_mob.eyes_protected(src, FALSE))
|
|
return ..()
|
|
if((user.is_clumsy()) && prob(50))
|
|
target_mob = user
|
|
return eyestab(target_mob,user)
|
|
|
|
/obj/item/material/knife/verb/extract_embedded(var/mob/living/carbon/human/H as mob in view(1))
|
|
set name = "Extract Embedded Item"
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
if(use_check_and_message(usr))
|
|
return
|
|
|
|
if(!istype(H))
|
|
return
|
|
|
|
var/list/available_organs = list()
|
|
for(var/thing in H.organs)
|
|
var/obj/item/organ/external/O = thing
|
|
available_organs[capitalize_first_letters(O.name)] = O
|
|
var/choice = tgui_input_list(usr, "Select an external organ to extract any embedded or implanted item from.", "Organ Selection", available_organs)
|
|
if(!choice)
|
|
return
|
|
|
|
var/obj/item/organ/external/O = available_organs[choice]
|
|
for(var/thing in O.implants)
|
|
var/obj/S = thing
|
|
usr.visible_message(SPAN_NOTICE("[usr] starts carefully digging out something in [H == usr ? "themselves" : H]..."))
|
|
O.take_damage(8, 0, DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE, src)
|
|
H.custom_pain(SPAN_DANGER("<font size=3>It burns!</font>"), 50)
|
|
if(do_mob(usr, H, 100))
|
|
H.remove_implant(S, FALSE)
|
|
log_and_message_admins("has extracted [S] out of [key_name(H)]")
|
|
H.emote("scream")
|
|
|
|
/obj/item/material/knife/ritual
|
|
name = "ritual knife"
|
|
desc = "The unearthly energies that once powered this blade are now dormant."
|
|
icon = 'icons/obj/item/material/knife/ritual.dmi'
|
|
icon_state = "render"
|
|
item_state = "render"
|
|
contained_sprite = TRUE
|
|
applies_material_colour = FALSE
|
|
|
|
/obj/item/material/knife/ritual/bloody/Initialize()
|
|
. = ..()
|
|
src.add_blood()
|
|
|
|
/obj/item/material/knife/raskariim
|
|
name = "adhomian ritual dagger"
|
|
desc = "An adhomian knife used in occult rituals."
|
|
icon = 'icons/obj/tajara_items.dmi'
|
|
icon_state = "raskariim_dagger"
|
|
item_state = "raskariim_dagger"
|
|
contained_sprite = TRUE
|
|
applies_material_colour = FALSE
|
|
|
|
/obj/item/material/knife/bayonet
|
|
name = "bayonet"
|
|
desc = "A sharp military knife, can be attached to a rifle."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "bayonet"
|
|
item_state = "knife"
|
|
applies_material_colour = 0
|
|
force_divisor = 0.35
|
|
can_embed = 0
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
|
|
/obj/item/material/knife/bayonet/silver/Initialize(newloc, material_key)
|
|
. = ..(newloc, MATERIAL_SILVER)
|
|
|
|
/obj/item/material/knife/tacknife
|
|
name = "tactical knife"
|
|
desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Tau Ceti."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "tacknife"
|
|
item_state = "knife"
|
|
attack_verb = list("stabbed", "chopped", "cut")
|
|
applies_material_colour = 1
|
|
force_divisor = 0.3 // 18 with hardness 60 (steel)
|
|
|
|
/obj/item/material/knife/trench
|
|
name = "trench knife"
|
|
desc = "A military knife used to slash and stab enemies in close quarters."
|
|
force_divisor = 0.4
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "trench"
|
|
item_state = "knife"
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
applies_material_colour = 0
|
|
slot_flags = SLOT_BELT
|
|
|
|
/obj/item/material/knife/trench/silver/Initialize(newloc, material_key)
|
|
. = ..(newloc, MATERIAL_SILVER)
|
|
|
|
/obj/item/material/knife/trench/bloody/Initialize()
|
|
. = ..()
|
|
src.add_blood()
|
|
|
|
|
|
//Butterfly knives stab your eyes out too!
|
|
|
|
/obj/item/material/knife/butterfly
|
|
name = "butterfly knife"
|
|
desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "butterfly"
|
|
item_state = null
|
|
item_icons = list(
|
|
slot_l_hand_str = 'icons/mob/items/weapons/lefthand_knives.dmi',
|
|
slot_r_hand_str = 'icons/mob/items/weapons/righthand_knives.dmi',
|
|
)
|
|
hitsound = null
|
|
active = 0
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
attack_verb = list("patted", "tapped")
|
|
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
|
|
thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel)
|
|
worth_multiplier = 8
|
|
|
|
/obj/item/material/knife/butterfly/update_force()
|
|
if(active)
|
|
edge = TRUE
|
|
sharp = 1
|
|
..() //Updates force.
|
|
throwforce = max(3,force-3)
|
|
icon_state += "_open"
|
|
item_state = icon_state
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
else
|
|
force = 3
|
|
edge = FALSE
|
|
sharp = 0
|
|
hitsound = initial(hitsound)
|
|
icon_state = initial(icon_state)
|
|
item_state = initial(item_state)
|
|
w_class = initial(w_class)
|
|
attack_verb = initial(attack_verb)
|
|
|
|
/obj/item/material/knife/butterfly/switchblade
|
|
name = "switchblade"
|
|
desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "switchblade"
|
|
unbreakable = 1
|
|
|
|
/obj/item/material/knife/butterfly/attack_self(mob/user)
|
|
active = !active
|
|
if(active)
|
|
to_chat(user, SPAN_NOTICE("You flip out \the [src]."))
|
|
playsound(user, 'sound/weapons/blade_open.ogg', 15, 1)
|
|
else
|
|
to_chat(user, SPAN_NOTICE("\The [src] can now be concealed."))
|
|
playsound(user, 'sound/weapons/blade_close.ogg', 15, 1)
|
|
update_force()
|
|
add_fingerprint(user)
|