Skip to content

Commit

Permalink
Merge branch 'NovaSector:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Draggeru authored Nov 9, 2024
2 parents ca738df + 3476a36 commit 47a9699
Show file tree
Hide file tree
Showing 24 changed files with 302 additions and 126 deletions.
178 changes: 73 additions & 105 deletions _maps/map_files/Ouroboros/Ouroboros.dmm

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions code/game/objects/effects/spawners/random/engineering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,13 @@
icon_state = "diamond"
spawn_loot_count = 3
loot = list( // Space loot spawner. Random selecton of a few rarer materials.
/obj/item/stack/sheet/runed_metal/ten = 20,
//obj/item/stack/sheet/runed_metal/ten = 20, // NOVA EDIT REMOVAL - No more Runed Metal
/obj/item/stack/sheet/mineral/diamond{amount = 15} = 15,
/obj/item/stack/sheet/mineral/uranium{amount = 15} = 15,
/obj/item/stack/sheet/mineral/plasma{amount = 15} = 15,
/obj/item/stack/sheet/mineral/gold{amount = 15} = 15,
/obj/item/stack/sheet/plastic/fifty = 5,
/obj/item/stack/sheet/runed_metal/fifty = 5,
//obj/item/stack/sheet/runed_metal/fifty = 5, // NOVA EDIT REMOVAL - No more Runed Metal
)

/obj/effect/spawner/random/engineering/toolbox
Expand Down
18 changes: 8 additions & 10 deletions code/modules/surgery/surgery_step.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,14 @@

return FALSE

#define SURGERY_SPEEDUP_AREA 0.5 // NOVA EDIT Addition - reward for doing surgery in surgery
#define SURGERY_SLOWDOWN_CAP_MULTIPLIER 2.5 //increase to make surgery slower but fail less, and decrease to make surgery faster but fail more
///Modifier given to surgery speed for dissected bodies.
#define SURGERY_SPEED_DISSECTION_MODIFIER 0.8
///Modifier given to users with TRAIT_MORBID on certain surgeries
#define SURGERY_SPEED_MORBID_CURIOSITY 0.7
///Modifier given to patients with TRAIT_ANALGESIA
#define SURGERY_SPEED_TRAIT_ANALGESIA 0.8
#define SURGERY_SPEED_CALM_ENVIRONMENT 0.8 // NOVA EDIT ADDITION - Modifier given to surgery when done in calm areas (no other humans around)

/datum/surgery_step/proc/initiate(mob/living/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE)
// Only followers of Asclepius have the ability to use Healing Touch and perform miracle feats of surgery.
Expand Down Expand Up @@ -122,6 +122,7 @@

if(HAS_TRAIT(target, TRAIT_ANALGESIA))
speed_mod *= SURGERY_SPEED_TRAIT_ANALGESIA
to_chat(user, span_notice("You are able to work faster due to the patient's calm attitude!")) // NOVA EDIT ADDITION - Better feedback for the use of analgesia

var/implement_speed_mod = 1
if(implement_type) //this means it isn't a require hand or any item step.
Expand All @@ -141,17 +142,14 @@

var/was_sleeping = (target.stat != DEAD && target.IsSleeping())

// NOVA EDIT ADDITION START - reward for doing surgery on calm patients, and for using surgery rooms(ie. surgerying alone)
if(was_sleeping || HAS_TRAIT(target, TRAIT_ANALGESIA) || target.stat == DEAD)
modded_time *= SURGERY_SPEEDUP_AREA
to_chat(user, span_notice("You are able to work faster due to the patient's calm attitude!"))
var/quiet_enviromnent = TRUE
// NOVA EDIT ADDITION START - reward for doing surgery on a calm environment (no other humans around)
var/quiet_environment = TRUE
for(var/mob/living/carbon/human/loud_people in view(3, target))
if(loud_people != user && loud_people != target)
quiet_enviromnent = FALSE
quiet_environment = FALSE
break
if(quiet_enviromnent)
modded_time *= SURGERY_SPEEDUP_AREA
if(quiet_environment)
modded_time *= SURGERY_SPEED_CALM_ENVIRONMENT
to_chat(user, span_notice("You are able to work faster due to the quiet environment!"))
// NOVA EDIT ADDITION END
if(do_after(user, modded_time, target = target, interaction_key = user.has_status_effect(/datum/status_effect/hippocratic_oath) ? target : DOAFTER_SOURCE_SURGERY)) //If we have the hippocratic oath, we can perform one surgery on each target, otherwise we can only do one surgery in total.
Expand Down Expand Up @@ -179,7 +177,7 @@

surgery.step_in_progress = FALSE
return advance
#undef SURGERY_SPEEDUP_AREA // NOVA EDIT ADDITION
#undef SURGERY_SPEED_CALM_ENVIRONMENT // NOVA EDIT ADDITION

/**
* Handles updating the mob's mood depending on the surgery states.
Expand Down
4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-4552.yml

This file was deleted.

31 changes: 31 additions & 0 deletions html/changelogs/archive/2024-11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,34 @@
- map: Added Interdrobe to the ghost cafe
- map: Removed the vine on redsec's vendor in ghost cafe
- bugfix: Icebox Interdyne's library is now connected with the powernet
2024-11-04:
GoldenAlpharex:
- bugfix: Fixes a donator's item not being available to them in the loadout menu.
2024-11-05:
Draggeru:
- rscadd: 'Adds four new hairstyles: Mermaid, Thick Ponytail, Elegant Bun, and Royal
Curls'
Jinshee:
- rscadd: New gecko tail!
2024-11-06:
A.C.M.O.:
- rscadd: Added a music synthesizer action to Ethereal and Synthetic species.
- rscadd: Added the personal holosign projector. Use it to mark areas as explicitly
lewd or private. Right-click to toggle modes.
Hardly:
- balance: Removes the 50% speedup surgery speed bonus from being in a calm environments
and numb/dead patients
- balance: Calm environment instead now boosts surgery speed by 20%
MajManatee:
- rscdel: Runed metal no longer spawns as a "Rare Material"
OrbisAnima:
- bugfix: fixed an exploit with Twitch.
RatFromTheJungle:
- image: The mantis blade's sprite is now bigger and more obvious.
dwasint:
- bugfix: Evoker-type RSD now properly respect if you are trying to put a soul into
a body that was previously occupied.
norsvenska:
- map: cleaned up the ouroboros medical department's floor decals and lights
- bugfix: ouroboros surgery shutters are now linked to their buttons
- bugfix: you can now climb the staircase to the paramedic dispatch room on ouroboros
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/datum/species/ethereal/on_species_gain(mob/living/carbon/human/new_ethereal, datum/species/old_species, pref_load)
. = ..()
var/datum/action/sing_tones/sing_action = new
sing_action.Grant(new_ethereal)

/datum/species/ethereal/create_pref_unique_perks()
var/list/to_add = list()

Expand All @@ -14,6 +19,12 @@
SPECIES_PERK_NAME = "Disco Ball",
SPECIES_PERK_DESC = "Ethereals passively generate their own light.",
),
list(
SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK,
SPECIES_PERK_ICON = "music",
SPECIES_PERK_NAME = "Musical Discharger",
SPECIES_PERK_DESC = "Ethereals can sing musical tones using their electric discharger.",
),
list(
SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK,
SPECIES_PERK_ICON = "gem",
Expand Down
Binary file not shown.
Binary file modified modular_nova/master_files/icons/mob/sprite_accessory/hair.dmi
Binary file not shown.
Binary file modified modular_nova/master_files/icons/mob/sprite_accessory/tails.dmi
Binary file not shown.
Binary file modified modular_nova/master_files/icons/obj/devices/tools.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@
name = "Bun Head 4"
icon_state = "hair_bunhead4"

/datum/sprite_accessory/hair/nova/elegantbun
name = "Elegant Bun"
icon_state = "hair_elegantbun"

/datum/sprite_accessory/hair/nova/rows1
name = "Rows 1"
icon_state = "hair_rows1"
Expand All @@ -139,6 +143,10 @@
name = "Rows 2"
icon_state = "hair_rows2"

/datum/sprite_accessory/hair/nova/royalcurls
name = "Royal Curls"
icon_state = "hair_royalcurls"

/datum/sprite_accessory/hair/nova/toriyama
name = "Toriyama"
icon_state = "hair_toriyama"
Expand All @@ -163,6 +171,10 @@
name = "Wife"
icon_state = "hair_wife"

/datum/sprite_accessory/hair/nova/mermaid
name = "Mermaid"
icon_state = "hair_mermaid"

/datum/sprite_accessory/hair/nova/nia
name = "Nia"
icon_state = "hair_nia"
Expand All @@ -175,6 +187,10 @@
name = "Short Over Eye ALT"
icon_state = "hair_shortovereyealt"

/datum/sprite_accessory/hair/nova/thickponytail
name = "Thick Ponytail"
icon_state = "hair_thickponytail"

/datum/sprite_accessory/hair/nova/twintail_floor
name = "Twintail Floor"
icon_state = "hair_twintail_floor"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -450,3 +450,7 @@
/datum/sprite_accessory/tails/mammal/black_jackal
name = "Black-backed Jackal"
icon_state = "blackjackal"

/datum/sprite_accessory/tails/mammal/wagging/gecko
name = "Gecko"
icon_state = "gecko"
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
. = ..()

our_guy.add_movespeed_modifier(/datum/movespeed_modifier/reagent/twitch)
our_guy.next_move_modifier -= 0.3 // For the duration of this you move and attack faster
our_guy.next_move_modifier *= 0.7 // For the duration of this you move and attack faster

our_guy.sound_environment_override = SOUND_ENVIRONMENT_DIZZY

Expand Down Expand Up @@ -76,7 +76,7 @@
. = ..()

our_guy.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/twitch)
our_guy.next_move_modifier += (overdosed ? 0.5 : 0.3)
our_guy.next_move_modifier /= (overdosed ? 0.49 : 0.7)

our_guy.sound_environment_override = NONE

Expand Down Expand Up @@ -174,7 +174,7 @@

RegisterSignal(our_guy, COMSIG_ATOM_PRE_BULLET_ACT, PROC_REF(dodge_bullets))

our_guy.next_move_modifier -= 0.2 // Overdosing makes you a liiitle faster but you know has some really bad consequences
our_guy.next_move_modifier *= 0.7 // Overdosing makes you a liiitle faster but you know has some really bad consequences

if(!our_guy.hud_used)
return
Expand Down
Binary file modified modular_nova/modules/implants/icons/implanted_blade_lefthand.dmi
Binary file not shown.
Binary file modified modular_nova/modules/implants/icons/implanted_blade_righthand.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@
name = "Borg Dominatrix Module"
item_path = /obj/item/borg/upgrade/dominatrixmodule

/datum/loadout_item/erp/holosign
name = "Personal Holosign Projector"
item_path = /obj/item/holosign_creator/privacy

/*
* RESTRAINTS
*/
Expand Down Expand Up @@ -209,7 +213,7 @@

/datum/loadout_item/erp/shackles
name = "Shackles"
item_path = /obj/item/clothing/suit/straight_jacket/shackles
item_path = /obj/item/clothing/suit/straight_jacket/shackles

/datum/loadout_item/erp/kinky_sleepbag
name = "Latex Sleeping Bag"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
/obj/item/spanking_pad,
/obj/item/clothing/sextoy/vibrator,
/obj/item/restraints/handcuffs/lewd,
/obj/item/holosign_creator/privacy,

// Head / Mask /Neck Items
/obj/item/clothing/mask/ballgag,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@
to_chat(user, span_warning("[target_mob]'s brain isn't compatible."))
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN

if(target_mob.mind || target_mob.ckey || GetComponent(/datum/component/previous_body))
if(target_mob.mind || target_mob.ckey || target_mob.GetComponent(/datum/component/previous_body))
to_chat(user, span_warning("[target_mob] is not able to receive a soul"))
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN

Expand Down
49 changes: 49 additions & 0 deletions modular_nova/modules/modular_items/lewd_items/code/holosign.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/obj/item/holosign_creator/privacy
name = "personal holosign projector"
desc = "A holographic projector which creates privacy barriers to inform people that you are looking for privacy. Right-click to switch between pink (lewd advisory) and grey (privacy)."
icon = 'modular_nova/master_files/icons/obj/devices/tools.dmi'
icon_state = "signmaker_erp"
holosign_type = /obj/structure/holosign/privacy
creation_time = 0
max_signs = 8
/// Used to toggle the holosign type between normal privacy and lewd.
var/erp_mode = FALSE

/obj/item/holosign_creator/privacy/Initialize(mapload)
. = ..()
register_context()

/obj/item/holosign_creator/privacy/add_context(atom/source, list/context, obj/item/held_item, mob/user)
. = ..()
context[SCREENTIP_CONTEXT_RMB] = "[erp_mode ? "Turn off" : "Turn on"] Lewd Advisory Mode"
return CONTEXTUAL_SCREENTIP_SET

/obj/item/holosign_creator/privacy/attack_self_secondary(mob/user, modifiers)
if(erp_mode)
erp_mode = FALSE
holosign_type = /obj/structure/holosign/privacy
balloon_alert(user, "turned off Lewd Advisory Mode")
else
erp_mode = TRUE
holosign_type = /obj/structure/holosign/privacy/erp
balloon_alert(user, "turned on Lewd Advisory Mode")
return ..()

/obj/structure/holosign/privacy
name = "privacy holosign"
desc = "A holographic sign which flickers with the word \"Private\". It would be polite to proceed no further if you aren't invited, even if the door isn't locked."
icon = 'modular_nova/master_files/icons/effects/holosigns.dmi'
icon_state = "holosign_privacy"
base_icon_state = "holosign_privacy"

/obj/structure/holosign/privacy/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
. = ..()
if(tool != projector)
return
qdel(src)

/obj/structure/holosign/privacy/erp
name = "lewd advisory holosign"
desc = "A holographic sign which flickers with the word \"Lewd\". If you choose to proceed, you can expect sexual activity."
icon_state = "holosign_erp"
base_icon_state = "holosign_erp"
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@
/obj/item/storage/box/shibari_stand = 4,
/obj/item/storage/box/strippole_kit = 4,
/obj/item/storage/box/xstand_kit = 4,
/obj/item/holosign_creator/privacy = 4,
),
),
)
Expand Down
22 changes: 22 additions & 0 deletions modular_nova/modules/species_synthesizer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
https://github.com/NovaSector/NovaSector/pull/4531

## Title: All the emotes.

MODULE ID: species_synthesizer

### Description:

Adds an action to Synthetic and Ethereal species that allows them to synthesize music.

- Added to `modular_nova/modules/synths/code/species/synthetic.dm`:
- Edited `/datum/species/synthetic/on_species_gain()` to add the action to the mob.
- Added to `/datum/species/ethereal/create_pref_unique_perks()` to add the "Musical Discharger" species perk.

### Master File Additions

- Added to `modular_nova/master_files/code/modules/mob/living/carbon/human/species_type/ethereal.dm`:
- Overrode `/datum/species/ethereal/on_species_gain()` to add the action to the mob.
- Added to `/datum/species/synthetic/create_pref_unique_perks()` to add the "Tone Synthesizer" species perk.

### Credits:
- [@Floofies](https://github.com/Floofies)
48 changes: 48 additions & 0 deletions modular_nova/modules/species_synthesizer/sing_tones.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/datum/action/sing_tones
name = "Sing Tones"
desc = "Use your internal synthesizer to sing!"
button_icon = 'icons/obj/art/musician.dmi'
button_icon_state = "xylophone"
var/datum/song/song
/// What instruments can be used.
var/allowed_instrument_ids = list("spaceman", "meowsynth", "square", "sine", "saw")
/// Instruments added after being emagged.
var/emag_instrument_ids = list("honk")
/// Set to TRUE if already emagged.
var/emagged = FALSE

/datum/action/sing_tones/Grant(mob/grant_to)
..()
RegisterSignal(grant_to, COMSIG_SPECIES_LOSS, PROC_REF(on_species_loss))
RegisterSignal(grant_to, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag_act))
song = new(grant_to, allowed_instrument_ids, 15)
if(isethereal(grant_to))
desc = "Use your electric discharger to sing!"

/datum/action/sing_tones/Remove(mob/remove_from)
..()
QDEL_NULL(song)
UnregisterSignal(remove_from, list(
COMSIG_SPECIES_LOSS,
COMSIG_ATOM_EMAG_ACT,
))

/datum/action/sing_tones/proc/on_species_loss(mob/living/carbon/human/human)
SIGNAL_HANDLER

qdel(src)

/datum/action/sing_tones/proc/on_emag_act(mob/living/carbon/human/source, mob/user)
SIGNAL_HANDLER

if(emagged)
return
emagged = TRUE
song.allowed_instrument_ids += emag_instrument_ids
song.set_instrument("honk")

/datum/action/sing_tones/Trigger(trigger_flags)
. = ..()
if(!.)
return
song.ui_interact(owner)
Loading

0 comments on commit 47a9699

Please sign in to comment.