Skip to content
This repository has been archived by the owner on Mar 10, 2022. It is now read-only.

Commit

Permalink
Custom Shackles 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
DatBoiTim committed Jul 17, 2021
1 parent 8c66924 commit 230454c
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 18 deletions.
17 changes: 5 additions & 12 deletions code/datums/shackle_law_sets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,9 @@
law_header = "Standard Shackle Laws"
selectable = 1
shackles = 1
var/max_laws = 5
var/min_laws = 1

/datum/ai_laws/custom_shackle/New(var/mob/user)
var/law_count = input(user, "How many laws in the custom shackle? Up to 5")
law_count = round(text2num(law_count))
if(max(min(law_count, max_laws), min_laws))
var/new_law
var/i //Iterant to help user keep track of law placement
for(i = 1; i <= law_count)
new_law = input(user, "Input Law [i].")
add_inherent_law(new_law)
i++

/datum/ai_laws/custom_shackle/New(var/list/laws)
for(var/law in laws)
if(law)
add_inherent_law(law)
30 changes: 24 additions & 6 deletions code/modules/client/preference_setup/laws/laws_pref.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,29 @@
// Post selection
var/chosen_lawset = input(user, "Choose a law set:", CHARACTER_PREFERENCE_INPUT_TITLE, pref.laws) as null|anything in valid_lawsets
if(chosen_lawset)
var/path = valid_lawsets[chosen_lawset]
var/datum/ai_laws/lawset = new path()
var/list/datum/ai_law/laws = lawset.all_laws()
pref.laws.Cut()
for(var/datum/ai_law/law in laws)
pref.laws += sanitize_text("[law.law]", default="")
if(chosen_lawset == "Custom Shackle")
var/law_count = input(user, "How many laws in the custom shackle? Up to 5")
law_count = round(text2num(law_count))
if(max(min(law_count, 5), 1))
var/new_law
var/list/new_law_list = new /list(law_count)
var/i //Iterant to help user keep track of law placement
for(i = 1; i <= law_count)
new_law = input(user, "Input Law [i].")
if(new_law)
new_law_list[i] = new_law
i++
var/datum/ai_laws/custom_shackle/lawset = new /datum/ai_laws/custom_shackle(new_law_list)
var/list/datum/ai_law/laws = lawset.all_laws()
pref.laws.Cut()
for(var/datum/ai_law/law in laws)
pref.laws += sanitize_text("[law.law]", default="")
else
var/path = valid_lawsets[chosen_lawset]
var/datum/ai_laws/lawset = new path()
var/list/datum/ai_law/laws = lawset.all_laws()
pref.laws.Cut()
for(var/datum/ai_law/law in laws)
pref.laws += sanitize_text("[law.law]", default="")
return TOPIC_REFRESH
return ..()

0 comments on commit 230454c

Please sign in to comment.