Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bounty] The Arti-Re-Factoring Base #3114

Merged
merged 40 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
9acd05d
Probably all working
V2LenKagamine Aug 24, 2024
fd909a8
New Monkey Mode
V2LenKagamine Aug 24, 2024
f4cda9f
Bioscramble, death
V2LenKagamine Aug 24, 2024
727124a
The artirefactoring basis
V2LenKagamine Aug 25, 2024
7a5379d
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Aug 25, 2024
d438caf
New Effects, fixes.
V2LenKagamine Aug 26, 2024
5444432
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Aug 26, 2024
c36d3d9
Refactor Effect Location + Minor bugfix
V2LenKagamine Aug 26, 2024
428c2c1
Fix the Update
V2LenKagamine Aug 26, 2024
c98b510
Add processing cooldown,tweaks
V2LenKagamine Aug 26, 2024
3f0aa9a
Fix Minor Compile Error?
V2LenKagamine Aug 26, 2024
23aabad
Fix Integ Checks
V2LenKagamine Aug 26, 2024
6b892ee
Forgot a return
V2LenKagamine Aug 26, 2024
2e13ec7
Loda Fixes
V2LenKagamine Aug 27, 2024
3461d9b
Minor Runtimes, Artifact move speed
V2LenKagamine Aug 27, 2024
5516476
Merge branch 'Monkestation:master' into the-art-e-facts-update
V2LenKagamine Aug 27, 2024
b7fe79b
Artifixes
V2LenKagamine Aug 28, 2024
c0e1c01
Size fault trigger cap
V2LenKagamine Aug 28, 2024
649d988
Fixes + tgui stuff
V2LenKagamine Aug 28, 2024
319a306
Effects and fixes
V2LenKagamine Aug 29, 2024
260be08
More changes, new effect
V2LenKagamine Aug 30, 2024
3a52bd1
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Aug 30, 2024
1a3ee5c
The allmighty artifact editing!
V2LenKagamine Aug 30, 2024
d0acd9f
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Aug 30, 2024
1b89f55
Tiny artifacts, S o a p
V2LenKagamine Aug 31, 2024
f148db9
What the FUCK generator.
V2LenKagamine Aug 31, 2024
531f0dd
Artifact manip QOL
V2LenKagamine Aug 31, 2024
ae02339
Fixes Bomb effect.
V2LenKagamine Aug 31, 2024
e165b88
Dont QDEL the research
V2LenKagamine Aug 31, 2024
75d80a8
Moves artifact stuff to new research
V2LenKagamine Sep 1, 2024
7ec30ef
Merge branch 'Monkestation:master' into the-art-e-facts-update
V2LenKagamine Sep 1, 2024
ba8ea4b
More Bug-B-Gone applied
V2LenKagamine Sep 2, 2024
68a347f
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Sep 2, 2024
4fae962
Fix false rod
V2LenKagamine Sep 2, 2024
bdf5ef4
Meat and bitshifting
V2LenKagamine Sep 3, 2024
88244f6
Cell Boomn't
V2LenKagamine Sep 3, 2024
7226712
Smaller death range,ArtiZAPP
V2LenKagamine Sep 4, 2024
13717b2
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Sep 4, 2024
11b3971
Merge remote-tracking branch 'upstream/master' into the-art-e-facts-u…
V2LenKagamine Sep 7, 2024
9ea87ea
Literally 1 typo
V2LenKagamine Sep 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions code/__DEFINES/~monkestation/artifact.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
#define ARTIFACT_VERYRARE 140

//cuts down on boiler plate code
#define ARTIFACT_SETUP(X,subsystem) ##X/Initialize(mapload, var/forced_origin = null){\
#define ARTIFACT_SETUP(X,subsystem) ##X/Initialize(mapload, var/forced_origin = null,var/forced_effect = null){\
. = ..();\
START_PROCESSING(subsystem, src);\
if(assoc_comp) {\
assoc_comp = AddComponent(assoc_comp, forced_origin);\
assoc_comp = AddComponent(assoc_comp, forced_origin, forced_effect);\
RegisterSignal(src, COMSIG_QDELETING, PROC_REF(on_delete));\
}\
} \
Expand All @@ -33,7 +33,9 @@
##X/process(){\
assoc_comp?.stimulate_from_turf_heat(get_turf(src));\
if(assoc_comp?.active) {\
assoc_comp.effect_process();\
for(var/datum/artifact_effect/eff in assoc_comp.artifact_effects) {\
eff.effect_process();\
}\
}\
} \
##X/rad_act(intensity){\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@
var/required_stimuli = NONE
/// our baseline amount needed to even think about triggering (do this in setup otherwise its gonna be static)
var/base_trigger_amount = 0
///the highest number our trigger can be
///the highest number our trigger can be
var/highest_trigger_amount = 0
///the end goal of the amount we need set by setup below
var/amount = 0
///the hint we want to pass into the componenet for when we hit hint triggers
var/list/hint_texts = list("emits a <i>faint</i> noise..")
var/list/hint_texts = list("Emits a <i>faint</i> noise..")
///what it says on inspect when discovered
var/discovered_text = "Activated by ... coderbus"
///Research value when discovered
var/research_value = 0

/datum/artifact_activator/proc/setup(potency)
amount = round(max(base_trigger_amount, base_trigger_amount + (highest_trigger_amount - base_trigger_amount) * (potency/100)))
Expand Down
12 changes: 8 additions & 4 deletions monkestation/code/modules/art_sci_overrides/activators/range.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@
highest_trigger_amount = 30 //any higher than this and its gonna be practically impossible to trigger
hint_prob = 50
hint_range = 10
hint_texts = list("you almost want to start hitting things.", "a good whack might fix this.")
hint_texts = list("You almost want to start hitting things.", "A good whack might fix this.")
discovered_text = "Activated by Kinetic Energy"

/datum/artifact_activator/range/heat
name = "Heat Sensisty"
required_stimuli = STIMULUS_HEAT
hint_range = 20
highest_trigger_amount = 15000
hint_texts = list("it feels like someone messed with the thermostat.", "it feels unpleasent being near")
hint_texts = list("It feels like someone messed with the thermostat.", "It feels unpleasent being near")
discovered_text = "Activated by Thermal Energy"

/datum/artifact_activator/range/heat/New()
base_trigger_amount = rand(350, 1000)
Expand All @@ -37,7 +39,8 @@
required_stimuli = STIMULUS_SHOCK
highest_trigger_amount = 10000 // requires atleast t2 parts to trigger a max roll one
hint_range = 500
hint_texts = list("you can feel the static in the air", "your hairs stand on their ends")
hint_texts = list("You can feel the static in the air", "Your hairs stand on their ends")
discovered_text = "Activated by Electrical Energy"

/datum/artifact_activator/range/shock/New()
base_trigger_amount = rand(400, 1200)
Expand All @@ -48,4 +51,5 @@
highest_trigger_amount = 10
hint_range = 2
base_trigger_amount = 1 //x-ray machine goes from 1-10
hint_texts = list("emits a hum that resembles the Super Matter", "you could swear you saw your bones for a second")
hint_texts = list("Emits a hum that resembles the Super Matter", "You could swear you saw your bones for a second")
discovered_text = "Activated by Radiation"
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@
name = "Data"
required_stimuli = STIMULUS_DATA
hint_texts = list("It yearns for information")
discovered_text = "Activated by Information"

/datum/artifact_activator/touch/carbon
name = "Carbon Touch"
required_stimuli = STIMULUS_CARBON_TOUCH
hint_texts = list("You swear you hear the artifact saying it yearns for flesh.", "One touch couldn't hurt could it?")
discovered_text = "Activated by Organic Contact"

/datum/artifact_activator/touch/silicon
name = "Silicon Touch"
required_stimuli = STIMULUS_SILICON_TOUCH
hint_texts = list("It feels like it's malfunctioning")
discovered_text = "Activated by Silicon Contact"
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/datum/artifact_effect
V2LenKagamine marked this conversation as resolved.
Show resolved Hide resolved
///string added to artifact desc, if not discovered.
var/examine_hint
///string added to artifact desc, if the effect has been discovered
var/examine_discovered
///When you discover this, how many credits does it add to the sell price?
var/discovered_credits = CARGO_CRATE_VALUE*0.75
///how likely is it that this effect is added to an artifact?
var/weight = ARTIFACT_COMMON
///if defined, artifact must be this size to roll
var/artifact_size
///how strong is this effect,1-100
var/potency
///If the artifact doesnt have the right activator, cant be put on. If null, assume any
var/list/valid_activators
///If the artifact doesnt have this origin, cant be put on. If null, assume any
var/list/valid_origins
///sent on activation
var/activation_message
///played on activation
var/activation_sound
///sent on deactivation
var/deactivation_message
///played on deactivation
var/deactivation_sound


///Research value when discovered
var/research_value = 100
///The artifact we're on.
var/datum/component/artifact/our_artifact
///Type of effect, shows up in Xray Machine
var/type_name = "Generic Artifact Effect"

/datum/artifact_effect/New()
. = ..()
potency = rand(1,100)


///Called when the artifact has been created
/datum/artifact_effect/proc/setup()
return
///Called when the artifact has been activated
/datum/artifact_effect/proc/effect_activate(silent)
return
///Called when the artifact has been de-activated
/datum/artifact_effect/proc/effect_deactivate(silent)
return
///Called when the artifact has been touched by a living mob.
/datum/artifact_effect/proc/effect_touched(mob/living/user)
return
///Called on every artifact subsystem tick.
/datum/artifact_effect/proc/effect_process()
return
///Called when the artifact is destroyed
/datum/artifact_effect/proc/on_destroy(atom/source)
return
///Util, can be called to activate, then de-activate the artifact as a whole swiftly. Wont Re activate already active artifacts.
/datum/artifact_effect/proc/flick_active(silent)
if(!our_artifact.active)
our_artifact.artifact_activate(silent)
our_artifact.artifact_deactivate(silent)
return
///Util, can be called to swap the artifacts active status quickly.
/datum/artifact_effect/proc/toggle_active(silent)
our_artifact.active ? our_artifact.artifact_deactivate(silent) : our_artifact.artifact_activate(silent)
Loading