mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 13:30:42 +01:00
Merge branch 'master' into development
This commit is contained in:
@@ -96,7 +96,6 @@
|
||||
|
||||
/obj/machinery/computer/sentencing/proc/incident_report()
|
||||
. = ""
|
||||
|
||||
if( !istype( incident ))
|
||||
. += "There was an error loading the incident, please <a href='?src=\ref[src];button=change_menu;choice=main_menu'>Try Again</a>"
|
||||
return .
|
||||
@@ -106,8 +105,9 @@
|
||||
. += "<tr>"
|
||||
. += "<th>Convict:</th>"
|
||||
. += "<td><a href='?src=\ref[src];button=change_criminal;'>"
|
||||
if( incident.criminal )
|
||||
. += "[incident.criminal]"
|
||||
if( istype(incident.card) )
|
||||
var/obj/item/weapon/card/id/card = incident.card.resolve()
|
||||
. += "[card]"
|
||||
else
|
||||
. += "None"
|
||||
. += "</a></td>"
|
||||
@@ -191,8 +191,9 @@
|
||||
|
||||
. += "<tr><th colspan='2'>Convict</th></tr>"
|
||||
. += "<tr><td colspan='2'><center>"
|
||||
if( incident.criminal )
|
||||
. += "[incident.criminal]"
|
||||
if( istype(incident.card) )
|
||||
var/obj/item/weapon/card/id/card = incident.card.resolve()
|
||||
. += "[card]"
|
||||
else
|
||||
. += "None"
|
||||
. += "</center></td></tr>"
|
||||
@@ -435,7 +436,8 @@
|
||||
return .
|
||||
|
||||
/obj/machinery/computer/sentencing/proc/render_innocent( var/mob/user )
|
||||
ping( "\The [src] pings, \"[incident.criminal] has been found innocent of the accused crimes!\"" )
|
||||
var/obj/item/weapon/card/id/card = incident.card.resolve()
|
||||
ping( "\The [src] pings, \"[card] has been found innocent of the accused crimes!\"" )
|
||||
|
||||
qdel( incident )
|
||||
incident = null
|
||||
@@ -456,11 +458,11 @@
|
||||
return
|
||||
|
||||
incident.renderGuilty( user )
|
||||
|
||||
var/obj/item/weapon/card/id/card = incident.card.resolve()
|
||||
if( incident.brig_sentence < PERMABRIG_SENTENCE)
|
||||
ping( "\The [src] pings, \"[incident.criminal] has been found guilty of their crimes!\"" )
|
||||
ping( "\The [src] pings, \"[card] has been found guilty of their crimes!\"" )
|
||||
else
|
||||
pingx3( "\The [src] pings, \"[incident.criminal] has been found guilty of their crimes and earned a HuT Sentence\"" )
|
||||
pingx3( "\The [src] pings, \"[card] has been found guilty of their crimes and earned a HuT Sentence\"" )
|
||||
|
||||
incident = null
|
||||
menu_screen = "main_menu"
|
||||
@@ -483,7 +485,7 @@
|
||||
//
|
||||
// incident.renderGuilty( user )
|
||||
//
|
||||
// ping( "\The [src] pings, \"[incident.criminal] has been fined for their crimes!\"" )
|
||||
// ping( "\The [src] pings, \"[incident.card] has been fined for their crimes!\"" )
|
||||
//
|
||||
// incident = null
|
||||
// menu_screen = "main_menu"
|
||||
@@ -528,10 +530,12 @@
|
||||
if( istype( C ))
|
||||
if( incident && C.mob )
|
||||
incident.criminal = C.mob
|
||||
ping( "\The [src] pings, \"Convict [C.mob] verified.\"" )
|
||||
incident.card = WEAKREF(C)
|
||||
ping( "\The [src] pings, \"Convict [C] verified.\"" )
|
||||
else if( incident.criminal )
|
||||
ping( "\The [src] pings, \"Convict cleared.\"" )
|
||||
incident.criminal = null
|
||||
incident.card = null
|
||||
if( "change_brig" )
|
||||
if( !incident )
|
||||
return
|
||||
|
||||
@@ -207,7 +207,6 @@
|
||||
// Used for the 'time left' display
|
||||
var/second = round(timeleft() % 60)
|
||||
var/minute = round((timeleft() - second) / 60)
|
||||
|
||||
. = "<h2>Timer System:</h2>"
|
||||
. += "<b>Controls [src.id]</b><hr>"
|
||||
|
||||
@@ -215,7 +214,8 @@
|
||||
. += "Insert a Securty Incident Report to load a criminal sentence<br>"
|
||||
else
|
||||
// Time Left display (uses releasetime)
|
||||
. += "<b>Criminal</b>: [incident.criminal]\t"
|
||||
var/obj/item/weapon/card/id/card = incident.card.resolve()
|
||||
. += "<b>Criminal</b>: [card]\t"
|
||||
. += "<a href='?src=\ref[src];button=menu_mode;menu_choice=menu_charges'>Charges</a><br>"
|
||||
. += "<b>Sentence</b>: [add_zero( "[minute]", 2 )]:[add_zero( "[second]", 2 )]\t"
|
||||
// Start/Stop timer
|
||||
|
||||
@@ -245,6 +245,7 @@
|
||||
MA.layer = FLOAT_LAYER
|
||||
HS.add_overlay(MA)
|
||||
HS.name = "[I.name] on a spear"
|
||||
HS.material = material.name
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -299,10 +300,11 @@
|
||||
icon_state = "headspear"
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/material = "glass"
|
||||
|
||||
/obj/structure/headspear/attack_hand(mob/living/user)
|
||||
user.visible_message("<span class='warning'>[user] kicks over \the [src]!</span>", "<span class='danger'>You kick down \the [src]!</span>")
|
||||
new /obj/item/weapon/material/twohanded/spear(user.loc)
|
||||
new /obj/item/weapon/material/twohanded/spear(user.loc, material)
|
||||
for(var/obj/item/organ/external/head/H in src)
|
||||
H.loc = user.loc
|
||||
qdel(src)
|
||||
|
||||
@@ -161,10 +161,18 @@
|
||||
if(!istype(W))
|
||||
user <<"<span class ='notice'>The [W] is blocking the cigarettes.</span>"
|
||||
return
|
||||
//Checking contents of packet so lighters won't be cigarettes.
|
||||
for (var/i = contents.len; i > 0; i--)
|
||||
W = contents[i]
|
||||
if (istype(W))
|
||||
break
|
||||
else
|
||||
W = null
|
||||
if (!W)
|
||||
return
|
||||
reagents.trans_to_obj(W, (reagents.total_volume/contents.len))
|
||||
user.equip_to_slot_if_possible(W, slot_wear_mask)
|
||||
reagents.maximum_volume = 15 * contents.len
|
||||
contents.len--
|
||||
user << "<span class='notice'>You take a cigarette out of the pack.</span>"
|
||||
update_icon()
|
||||
else
|
||||
|
||||
@@ -1898,7 +1898,7 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
|
||||
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/make_poncho //Raincoat Poncho - M.A.K.E - toasterstrudes
|
||||
obj/item/clothing/suit/storage/hooded/fluff/make_poncho //Raincoat Poncho - M.A.K.E - toasterstrudes
|
||||
name = "raincoat poncho"
|
||||
desc = "A tough brown hooded poncho that looks to be good at protecting someone from the rain."
|
||||
icon = 'icons/obj/custom_items/make_items.dmi'
|
||||
@@ -1906,6 +1906,7 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
item_state = "make_poncho"
|
||||
contained_sprite = TRUE
|
||||
hoodtype = /obj/item/clothing/head/winterhood/fluff/make_hood
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
|
||||
/obj/item/clothing/head/winterhood/fluff/make_hood
|
||||
flags_inv = HIDEEARS
|
||||
|
||||
@@ -168,43 +168,71 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob)
|
||||
user << "<span class='notice'>Charge card's owner: [src.owner_name]. Credit chips remaining: [src.worth].</span>"
|
||||
|
||||
/obj/item/weapon/spacecash/ewallet/lotto
|
||||
name = "lottery card"
|
||||
desc = "A scratch-action charge card that contains a variable amount of money."
|
||||
name = "space lottery card"
|
||||
desc = "A virtual scratch-action charge card that contains a variable amount of money."
|
||||
worth = 0
|
||||
var/scratched = 0
|
||||
var/scratches_remaining = 3
|
||||
var/next_scratch = 0
|
||||
|
||||
/obj/item/weapon/spacecash/ewallet/lotto/attack_self(mob/user)
|
||||
if(!scratched)
|
||||
user << "<span class='notice'>You initiate the simulated scratch action process on the charge card...</span>"
|
||||
if(do_after(user,5))
|
||||
var/result = rand(1,10000)
|
||||
if(result <= 5000) // 50% chance to not earn anything at all.
|
||||
worth = 0
|
||||
user << "<span class='notice'>The card reads [worth]. Not your lucky day!</span>"
|
||||
else if (result <= 8000) // 30% chance to break even.
|
||||
worth = 200
|
||||
user << "<span class='notice'>The card reads [worth]. At least you broke even...</span>"
|
||||
else if (result <= 9000) // 10% chance to earn 500 credits
|
||||
worth = 500
|
||||
user << "<span class='notice'>The card reads [worth]. You doubled your money!</span>"
|
||||
else if (result <= 9500) // 5% chance to earn 1000 credits.
|
||||
worth = 1000
|
||||
user << "<span class='notice'>The card reads [worth]. Wow, you're lucky!</span>"
|
||||
else if (result <= 9750) // 2.5% chance to earn 2500 credits.
|
||||
worth = 2500
|
||||
user << "<span class='notice'>The card reads [worth]. Wow, your luck is running high!</span>"
|
||||
else if (result <= 9900) // 1.5% chance to earn 5000 credits.
|
||||
worth = 5000
|
||||
user << "<span class='notice'>The card reads [worth]. Wow, you're rich!</span>"
|
||||
else if (result <= 9950) // 0.5% chance to earn 10000 credits
|
||||
worth = 10000
|
||||
user << "<span class='notice'>The card reads [worth]. Wow, your're super rich!</span>"
|
||||
else if (result <= 9975) // 0.25% chance to earn 50000 credits.
|
||||
worth = 25000
|
||||
user << "<span class='notice'>The card reads [worth]. Wow, your're super rich!</span>"
|
||||
else // 0.25% chance to earn 100000 credits.
|
||||
user << "<span class='notice'>The card reads [worth]. YOU HIT THE JACKPOT!</span>"
|
||||
worth = 50000
|
||||
|
||||
scratched = 1
|
||||
owner_name = user.name
|
||||
if(scratches_remaining <= 0)
|
||||
user << "<span class='warning'>The card flashes: \"No scratches remaining!\"</span>"
|
||||
return
|
||||
|
||||
if(next_scratch > world.time)
|
||||
user << "<span class='warning'>The card flashes: \"Please wait!\"</span>"
|
||||
return
|
||||
|
||||
next_scratch = world.time + 6 SECONDS
|
||||
|
||||
user << "<span class='notice'>You initiate the simulated scratch action process on the [src]...</span>"
|
||||
playsound(src.loc, 'sound/items/drumroll.ogg', 50, 0, 0)
|
||||
if(do_after(user,4.5 SECONDS))
|
||||
var/won = 0
|
||||
var/result = rand(1,10000)
|
||||
if(result <= 4000) // 40% chance to not earn anything at all.
|
||||
won = 0
|
||||
speak("You've won: [won] CREDITS. Better luck next time!")
|
||||
else if (result <= 8000) // 40% chance
|
||||
won = 50
|
||||
speak("You've won: [won] CREDITS. Partial winner!")
|
||||
else if (result <= 9000) // 10% chance
|
||||
won = 100
|
||||
speak("You've won: [won] CREDITS. Winner!")
|
||||
else if (result <= 9500) // 5% chance
|
||||
won = 200
|
||||
speak("You've won: [won] CREDITS. SUPER WINNER! You're lucky!")
|
||||
else if (result <= 9750) // 2.5% chance
|
||||
won = 500
|
||||
speak("You've won: [won] CREDITS. MEGA WINNER! You're super lucky!")
|
||||
else if (result <= 9900) // 1.5% chance
|
||||
won = 1000
|
||||
speak("You've won: [won] CREDITS. ULTRA WINNER! You're mega lucky!")
|
||||
else if (result <= 9950) // 0.5% chance
|
||||
won = 2500
|
||||
speak("You've won: [won] CREDITS. ULTIMATE WINNER! You're ultra lucky!")
|
||||
else if (result <= 9975) // 0.25% chance
|
||||
won = 5000
|
||||
speak("You've won: [won] CREDITS. ULTIMATE WINNER! You're ultra lucky!")
|
||||
else if (result <= 9999) // 0.24% chance
|
||||
won = 10000
|
||||
speak("You've won: [won] CREDITS. ULTIMATE WINNER! You're ultra lucky!")
|
||||
else ///0.01% chance
|
||||
won = 25000
|
||||
speak("You've won: [won] CREDITS. JACKPOT WINNER! You're JACKPOT lucky!")
|
||||
|
||||
scratches_remaining -= 1
|
||||
worth += won
|
||||
sleep(1 SECONDS)
|
||||
if(scratches_remaining > 0)
|
||||
user << "<span class='notice'>The card flashes: You have: [scratches_remaining] SCRATCHES remaining! Scratch again!</span>"
|
||||
else
|
||||
user << "<span class='notice'>The card flashes: You have: [scratches_remaining] SCRATCHES remaining! You won a total of: [worth] CREDITS. Thanks for playing the space lottery!</span>"
|
||||
|
||||
owner_name = user.name
|
||||
|
||||
/obj/item/weapon/spacecash/ewallet/lotto/proc/speak(var/message = "Hello!")
|
||||
for(var/mob/O in hearers(src.loc, null))
|
||||
O.show_message("<span class='game say'><span class='name'>\The [src]</span> pings, \"[message]\"</span>",2)
|
||||
playsound(src.loc, 'sound/machines/ping.ogg', 50, 1, -4)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
var/list/arbiters = list( "Witness" = list() ) // The person or list of people who were involved in the conviction of the criminal
|
||||
var/mob/living/carbon/human/criminal // The person who committed the crimes
|
||||
var/datum/weakref/card // The ID of the criminal
|
||||
|
||||
var/datetime = "" //When the crime has been commited
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
max_brig_time = 25
|
||||
|
||||
/datum/law/med_severity/excessive_force
|
||||
name = "i218 - Severe Use of Excessive Force"
|
||||
name = "i218 - Use of Excessive Force"
|
||||
desc = "To put a victim in critical state in defense of yourself or others, or seriously injuring a suspect while attempting to detain them. This includes pulling them when they have open wounds."
|
||||
id = "i218"
|
||||
|
||||
@@ -163,4 +163,12 @@
|
||||
id = "i220"
|
||||
|
||||
min_brig_time = 15
|
||||
max_brig_time = 20
|
||||
max_brig_time = 20
|
||||
|
||||
/datum/law/med_severity/gross_negligence
|
||||
name = "i221 - Gross Negligence"
|
||||
desc = "To display a severe lack of diligence or disregard for safe conduct, which causes or will cause serious harm to people or property."
|
||||
id = "i221"
|
||||
|
||||
min_brig_time = 15
|
||||
max_brig_time = 20
|
||||
|
||||
@@ -1561,7 +1561,7 @@
|
||||
. = ..()
|
||||
reagents.add_reagent("protein", 4)
|
||||
reagents.add_reagent("msg", 2)
|
||||
reagents.add_reagent("palmoil", 1)
|
||||
reagents.add_reagent("sodiumchloride", 4)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/no_raisin
|
||||
@@ -1578,7 +1578,6 @@
|
||||
. = ..()
|
||||
reagents.add_reagent("msg", 1)
|
||||
reagents.add_reagent("hfcs", 1)
|
||||
reagents.add_reagent("palmoil", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie
|
||||
@@ -1611,7 +1610,7 @@
|
||||
. = ..()
|
||||
reagents.add_reagent("cheese", 3)
|
||||
reagents.add_reagent("palmoil", 1)
|
||||
reagents.add_reagent("msg", 2)
|
||||
reagents.add_reagent("msg", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/syndicake
|
||||
@@ -4398,21 +4397,18 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tastybread
|
||||
name = "bread tube"
|
||||
desc = "Bread in a tube. Chewy...and questionably tasty."
|
||||
desc = "Bread in a tube. Chewy."
|
||||
icon_state = "tastybread"
|
||||
trash = /obj/item/trash/tastybread
|
||||
filling_color = "#A66829"
|
||||
center_of_mass = list("x"=17, "y"=16)
|
||||
nutriment_desc = list("tasty bread" = 4)
|
||||
nutriment_desc = list("stale bread" = 4) //NO LONGER TASTY BECAUSE OF REMOVED FLAVORINGS. ENJOY EATING STALE BREAD FUCKERS. HAHAHAHAHA.
|
||||
nutriment_amt = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tastybread/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("shortening", 1)
|
||||
reagents.add_reagent("palmoil", 1)
|
||||
reagents.add_reagent("sugar", 1)
|
||||
reagents.add_reagent("msg", 4)
|
||||
reagents.add_reagent("sodiumchloride", 2)
|
||||
reagents.add_reagent("sodiumchloride", 4)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks
|
||||
@@ -4426,7 +4422,6 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("shortening", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/friedkois
|
||||
@@ -4559,7 +4554,7 @@
|
||||
. = ..()
|
||||
reagents.add_reagent("protein", 10)
|
||||
reagents.add_reagent("shortening", 1)
|
||||
reagents.add_reagent("msg", 4)
|
||||
reagents.add_reagent("msg", 3)
|
||||
reagents.add_reagent("sodiumchloride", 3)
|
||||
bitesize = 5
|
||||
|
||||
@@ -4589,7 +4584,7 @@
|
||||
. = ..()
|
||||
reagents.add_reagent("protein", 10)
|
||||
reagents.add_reagent("iron", 3)
|
||||
reagents.add_reagent("msg", 4)
|
||||
reagents.add_reagent("msg", 5)
|
||||
reagents.add_reagent("sodiumchloride", 5)
|
||||
bitesize = 4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user