Skip to content

Commit

Permalink
Merge pull request Blackstone-SS13#851 from Blackstone-SS13/revert-42…
Browse files Browse the repository at this point in the history
…7-stone_rng_mk1

Revert "Stonelore Rework"
  • Loading branch information
JTGSZ authored May 16, 2024
2 parents f8c535a + bf40738 commit dc4d54c
Showing 1 changed file with 3 additions and 226 deletions.
229 changes: 3 additions & 226 deletions code/game/objects/items/rogueitems/natural/stones.dm
Original file line number Diff line number Diff line change
@@ -1,245 +1,22 @@
GLOBAL_LIST_INIT(stone_sharpness_names, list(
"Sharp",
"Vicious",
"Cutthroat",
"Keen",
"Acute",
"Edged",
"Fierce",
"Stinging"
))

GLOBAL_LIST_INIT(stone_sharpness_descs, list(
"It has a vicious edge.",
"This stone is akin to a knife.",
"It has a pointed side.",
"It has a serrated edge."
))

GLOBAL_LIST_INIT(stone_bluntness_names, list(
"Blunt",
"Rotund",
"Heavy",
"Solid",
"Chubby",
"Portly",
"Meaty",
"Dumpy",
"Stout",
"Plump"
))

GLOBAL_LIST_INIT(stone_bluntness_descs, list(
"It is very blunt.",
"It is kinda hefty.",
"It fills the hand.",
"It is quite a handfull",
"This stone feels like it was made for ME!"
))

GLOBAL_LIST_INIT(stone_magic_names, list(
"Shimmering",
"Glowing",
"Enchanted",
"Ancient",
"Mystic",
"Enhanced",
"Magic",
"Mysterious",
"Radiant",
"Singing",
"Beautiful",
"Tantalizing",
"Allurring",
"Wicked",
"Mythical",
"Baleful",
"Heavenly",
"Angelic",
"Demonic",
"Devilish",
"Mischievous"
))

GLOBAL_LIST_INIT(stone_magic_descs, list(
"It hums with internal energy.",
"It has a faint aura.",
"It has an odd sigil on it.",
"It has a small red stone pressed into it.",
"It is covered in tiny cracks.",
"It looks unsafe."
))

GLOBAL_LIST_INIT(stone_personalities, list(
"Hatred",
"Idiocy",
"Mourning",
"Glory",
"Rock-Solidness",
"Calmness",
"Anger",
"Rage",
"Vainglory",
"Risk-aversedness",
"Daredevil",
"Barbarics",
"Fanciness",
"Relaxing",
"Blacked",
"Greed",
"Evil",
"Good",
"Neutrality",
"Pride",
"Lust",
"Sloth",
"Victory",
"Defeat",
"Recoil",
"Impact",
"Goring",
"Destruction",
"Hell",
"Zizo",
"Flames",
"Darkness",
"Light",
"Heroism",
"Heaven",
"Cowards",
"Conquerors",
"Conquest",
"Horripilation",
"Terror",
"Earthquakes",
"Thunder"
))

GLOBAL_LIST_INIT(stone_personality_descs, list(
"This stone is full of personality",
"They say the intelligent races built their foundations with stones.",
"One must think, where did this stone come from?",
"If all stones were like this, then they would be some pretty great stones.",
"I wish my personality was like this stones",
"I could sure do a whole lot with this stone",
"I love stones!"
))
/obj/item/natural/stone
name = "stone"
icon_state = "stone1"
desc = "A piece of rough ground stone."
gripped_intents = null
dropshrink = 0.75
possible_item_intents = list(INTENT_GENERIC)
force = 10
throwforce = 15
force = 18
throwforce = 20
slot_flags = ITEM_SLOT_MOUTH
obj_flags = null
w_class = WEIGHT_CLASS_TINY

/obj/item/natural/stone/Initialize()
stone_lore()
icon_state = "stone[rand(1,4)]"
..()

/*
This right here is stone lore,
Yakub from BBC lore has inspired me
*/
/obj/item/natural/stone/proc/stone_lore()
var/stone_title = "stone" // Our stones title
var/stone_desc = "[desc]" // Total Bonus desc the stone will be getting

icon_state = "stone[rand(1,5)]"

var/bonus_force = 0 // Total bonus force the rock will be getting
var/list/given_intent_list = list(/datum/intent/hit) // By default you get this at least
var/list/extra_intent_list = list() // List of intents that we can possibly give it by the end of this
var/list/blunt_intents = list(/datum/intent/mace/strike/wood, /datum/intent/mace/smash/wood)
var/list/sharp_intents = list(/datum/intent/dagger/cut, /datum/intent/dagger/thrust, /datum/intent/dagger/chop)

var/bluntness_rating = rand(1,10)
var/sharpness_rating = rand(1,10)

var/stone_personality_rating = rand(1,25)

//This is so sharpness and bluntness's name and descs come in randomly before or after each other
//Magic will always be in front for now, and personality will be after magic.
var/list/name_jumbler = list()
var/list/desc_jumbler = list()

switch(bluntness_rating)
if(1 to 8)
extra_intent_list += pick(blunt_intents) // Add one
if(9 to 10)
for(var/muhdik in blunt_intents) // add all intent to possible things
extra_intent_list += muhdik

name_jumbler += pick(GLOB.stone_bluntness_names)
desc_jumbler += pick(GLOB.stone_bluntness_descs)

switch(sharpness_rating)
if(1 to 8)
extra_intent_list += pick(sharp_intents) // Add one
if(9 to 10)
for(var/mofugga in sharp_intents) // add all intent to possible things
extra_intent_list += mofugga

name_jumbler += pick(GLOB.stone_sharpness_names)
desc_jumbler += pick(GLOB.stone_sharpness_descs)

if(name_jumbler.len) // Both name jumbler and desc jumbler should be symmetrical in insertions conceptually anyways.
for(var/i in 1 to name_jumbler.len) //Theres only two right now
if(!name_jumbler.len) // If list somehow empty get the hell out! Now~!
break
//Remove so theres no repeats
var/picked_name = pick(name_jumbler)
name_jumbler -= picked_name
var/picked_desc = pick(desc_jumbler)
desc_jumbler -= picked_desc

stone_title = "[picked_name] [stone_title]" // Prefix and then stone
stone_desc += " [picked_desc]" // We put the descs after the original one

switch(stone_personality_rating)
if(10 to 22)
if(prob(3)) // Stone has a 3 percent chance to have a personality despite missing its roll
stone_title = "[stone_title] of [pick(GLOB.stone_personalities)]"
stone_desc += " [pick(GLOB.stone_personality_descs)]"
bonus_force += rand(1,5) // Personality gives a stone some more power too
if(23 to 25)
stone_title = "[stone_title] of [pick(GLOB.stone_personalities)]"
stone_desc += " [pick(GLOB.stone_personality_descs)]"
bonus_force += rand(1,5) // Personality gives a stone some more power too

var/max_force_range = sharpness_rating + bluntness_rating // Add them together
//max_force_range = round(max_force_range/2) // Divide by 2 and round jus incase

bonus_force = rand(1, max_force_range) // Your total bonus force is now between 1 and your sharpness/bluntness totals

if(prob(5)) // We hit the jackpot, a magical stone! JUST FOR ME!
filters += filter(type="drop_shadow", x=0, y=0, size=1, offset=2, color=rgb(rand(1,255),rand(1,255),rand(1,255)))
var/magic_force = rand(1,10) //Roll, we need this seperate for now otherwise people will know the blunt/sharp boosts too
stone_title = "[pick(GLOB.stone_magic_names)] [stone_title] +[magic_force]"
stone_desc += " [pick(GLOB.stone_magic_descs)]"
bonus_force += magic_force // Add on the magic force modifier

if(extra_intent_list.len)
for(var/i in 1 to extra_intent_list.len)
if((given_intent_list.len >= 4) || !(extra_intent_list.len)) // No more than 4 bro, and if we are empty on intents just stop here
break
var/cock = pick(extra_intent_list) // We pick one
given_intent_list += cock // Add it to the list
extra_intent_list -= cock // Remove it from the prev list

//Now that we have built the history and lore of this stone, we apply it to the main vars.
name = stone_title
desc = stone_desc
force += bonus_force // This will result in a stone that has only 40 max at a extremely low chance damage at this time of this PR.
throwforce += bonus_force // It gets added to throw damage too
possible_item_intents = given_intent_list // And heres ur new extra intents too




/obj/item/natural/stone/attackby(obj/item/W, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
Expand Down

0 comments on commit dc4d54c

Please sign in to comment.