diff --git a/code/game/mob/living/carbon/human/human_defines.dm b/code/game/mob/living/carbon/human/human_defines.dm
index a7faed0936..70b0f8f5c9 100644
--- a/code/game/mob/living/carbon/human/human_defines.dm
+++ b/code/game/mob/living/carbon/human/human_defines.dm
@@ -111,6 +111,10 @@
var/mood_modifier = 1
var/surrendered = FALSE
+ var/bank_dollar = 0 //How many dollars they have in the bank
+ var/bank_rubles = 0 //How many rubles they have in the bank
+ var/bank_hold = FALSE
+
var/werewolf = FALSE
var/gorillaman = FALSE
var/ant = FALSE
diff --git a/code/game/objects/items/paper/paper.dm b/code/game/objects/items/paper/paper.dm
index 87a5e63b65..5a11abbc1a 100644
--- a/code/game/objects/items/paper/paper.dm
+++ b/code/game/objects/items/paper/paper.dm
@@ -50,6 +50,36 @@
var/color1 = "#000000"
var/color2 = "#FFFFFF"
+/obj/item/weapon/paper/entry_permit
+ name = "entry permit"
+ desc = "a permit granting right of entry to a specified country"
+ icon_state = "entry_permit"
+
+/obj/item/weapon/paper/asylum
+ name = "asylum grant"
+ desc = "an official document granting political asylum to the recipient in a specified country"
+ icon_state = "asylum_grant"
+
+/obj/item/weapon/paper/id_supp
+ name = "id supplement"
+ desc = "a small document supplement detailing physical appearance"
+ icon_state = "id_supp"
+
+/obj/item/weapon/paper/vaccine
+ name = "vaccine certificate"
+ desc = "an official medical certificate confirming that a person has been vaccinated against certain disease(s)"
+ icon_state = "vaccine_cert"
+
+/obj/item/weapon/paper/diplomatic_auth
+ name = "diplomatic authorisation"
+ desc = "an official document from an international organisation confirming the diplomatic status and diplomatic right to travel of the recipient"
+ icon_state = "diplomatic_auth"
+
+/obj/item/weapon/paper/entry_ticket
+ name = "entry ticket"
+ desc = "a simple small ticket granting right of entry"
+ icon_state = "entry_ticket"
+
/obj/item/weapon/paper/official/New()
..()
spawn(30)
@@ -499,16 +529,19 @@
stampoverlay.pixel_x = rand(-2, 2)
stampoverlay.pixel_y = rand(-3, 2)
stampoverlay.icon_state = "paper_[P.icon_state]"
- var/image/stampoverlay_paper = image('icons/stamps/dmi/stamps.dmi', icon_state = null)
- if (istype(P, /obj/item/weapon/stamp/mail))
- stampoverlay_paper = image('icons/stamps/dmi/seals.dmi', icon_state = null)
- stampoverlay_paper.icon_state = P.icon_state
- stamps += ""
+
+ // The following commented code does not work.
+
+ // var/image/stampoverlay_paper = image('icons/stamps/dmi/stamps.dmi', icon_state = null)
+ // if (istype(P, /obj/item/weapon/stamp/mail))
+ // stampoverlay_paper = image('icons/stamps/dmi/seals.dmi', icon_state = null)
+ // stampoverlay_paper.icon_state = P.icon_state
+ // stamps += ""
- if(!stamped)
- stamped = new
- stamped += P.type
- overlays += stampoverlay
+ // if(!stamped)
+ // stamped = new
+ // stamped += P.type
+ // overlays += stampoverlay
playsound(src,'sound/effects/stamp_down.ogg', 70, TRUE)
to_chat(user, SPAN_NOTICE("You stamp the paper with the [P.name]."))
diff --git a/code/game/objects/items/stacks/money.dm b/code/game/objects/items/stacks/money.dm
index 66ef1a6c59..95ed232d7c 100644
--- a/code/game/objects/items/stacks/money.dm
+++ b/code/game/objects/items/stacks/money.dm
@@ -1,17 +1,23 @@
-//spanish money was the world currency in the early 18th century. 1 doubloon = 2 escudos = 4 spanish dollars = 32 reales
+// Spanish money was the world currency in the early 18th century. 1 doubloon = 2 escudos = 4 spanish dollars = 32 reales
/obj/item/stack/money/update_icon()
- if(novariants)
- return ..()
- if(amount >= 2)
- if (map.ordinal_age >= 4)
- if(icon_state != "silvercoin_pile")
- icon_state = "[initial(icon_state)]_2"
-
+ if (novariants)
+ return // TO-DO: Check if the parent proc is actually needed here as a "return ..()"
+ if (map.ordinal_age >= 4 && icon_state != "silvercoin_pile")
+ var/icon_suffix = 1
+ switch(amount)
+ if (50 to 99)
+ icon_suffix = 2
+ if (100 to 249)
+ icon_suffix = 3
+ if (250 to 499)
+ icon_suffix = 4
+ if (500 to INFINITY)
+ icon_suffix = 5
+ icon_state = "[initial(icon_state)]_[icon_suffix]"
else
- if (map.ordinal_age >= 4)
- icon_state = initial(icon_state)
+ icon_state = initial(icon_state)
..()
-
+ //TO-DO: Check what the parent proc actually does
/obj/item/stack/money
name = "gold coins"
@@ -93,6 +99,26 @@
amount = 1
value = 1
+/obj/item/stack/money/rubles/New()
+ update_icon()
+ return ..()
+
+/obj/item/stack/money/rubles/update_icon()
+ var/icon_suffix = ""
+ switch(amount)
+ if (1 to 49)
+ icon_suffix = ""
+ if (50 to 99)
+ icon_suffix = "50"
+ if (100 to 249)
+ icon_suffix = "100"
+ if (250 to 499)
+ icon_suffix = "250"
+ if (500 to INFINITY)
+ icon_suffix = "500"
+ icon_state = "ruble[icon_suffix]"
+ // TO-DO: Check if the parent update_icon proc has to be called
+
/obj/item/stack/money/yen
name = "yen"
desc = "A japanese 1 yen coin."
@@ -104,67 +130,41 @@
flags = CONDUCT
/obj/item/stack/money/yen/New()
- if(amount == 2)
- icon_state = "yen_2"
- if(amount == 3)
- icon_state = "yen_3"
- if(amount == 4)
- icon_state = "yen_4"
- if(amount == 5)
- desc = "A japanese 5 yen coin"
- icon_state = "yen_5"
- if(amount == 6)
- icon_state = "yen_6"
- if(amount >= 7)
- icon_state = "yen_7"
- if(amount >= 10)
- desc = "A japanese 10 yen coin"
- icon_state = "yen_10"
- if(amount >= 50)
- desc = "A japanese 50 yen coin"
- icon_state = "yen_50"
- if(amount >= 100)
- desc = "A japanese 100 yen coin"
- icon_state = "yen_100"
- if(amount == 500)
- desc = "A japanese 500 yen coin"
- icon_state = "yen_500"
- if(amount > 500)
- desc = "A japanese 500 yen coin with some other Yen coins."
- icon_state = "yen_500+"
update_icon()
return ..()
/obj/item/stack/money/yen/update_icon()
- if(amount == 2)
- icon_state = "yen_2"
- if(amount == 3)
- icon_state = "yen_3"
- if(amount == 4)
- icon_state = "yen_4"
- if(amount == 5)
- desc = "A japanese 5 yen coin"
- icon_state = "yen_5"
- if(amount == 6)
- icon_state = "yen_6"
- if(amount >= 7)
- icon_state = "yen_7"
- if(amount >= 10)
- desc = "A japanese 10 yen coin"
- icon_state = "yen_10"
- if(amount >= 50)
- desc = "A japanese 50 yen coin"
- icon_state = "yen_50"
- if(amount >= 100)
- desc = "A japanese 100 yen coin"
- icon_state = "yen_100"
- if(amount == 500)
- desc = "A japanese 500 yen coin"
- icon_state = "yen_500"
- if(amount > 500)
- desc = "A japanese 500 yen coin with some other Yen coins."
- icon_state = "yen_500+"
- ..()
+ var/icon_suffix = ""
+ switch(amount)
+ if (2)
+ icon_suffix = "_2"
+ if (3)
+ icon_suffix = "_3"
+ if (4)
+ icon_suffix = "_4"
+ if (5)
+ desc = "A japanese 5 yen coin"
+ icon_suffix = "_5"
+ if (6)
+ icon_suffix = "_6"
+ if (7 to 9)
+ icon_suffix = "_7"
+ if (10 to 49)
+ desc = "A japanese 10 yen coin"
+ icon_suffix = "_10"
+ if (50 to 99)
+ desc = "A japanese 50 yen coin"
+ icon_suffix = "_50"
+ if (100 to 499)
+ desc = "A japanese 100 yen coin"
+ icon_suffix = "_100"
+ if (500)
+ desc = "A japanese 500 yen coin"
+ icon_suffix = "_500"
+ if (501 to INFINITY)
+ desc = "A japanese 500 yen coin with some other Yen coins."
+ icon_suffix = "_500+"
+ icon_state = "yen[icon_suffix]"
/obj/item/stack/money/dollar
name = "spanish dollars"
@@ -212,6 +212,33 @@
value = 4
return ..()
+/obj/item/stack/money/dollar100
+ name = "100 Dollar Bill"
+ desc = "Paper bank note valued at one-hundred dollars"
+ icon_state = "100dollar"
+ value = 100
+ amount = 1
+
+/obj/item/stack/money/dollar100/New()
+ update_icon()
+ return ..()
+
+/obj/item/stack/money/dollar100/update_icon()
+ var/icon_suffix = ""
+ switch(amount)
+ if (1 to 49)
+ icon_suffix = ""
+ if (50 to 99)
+ icon_suffix = "50"
+ if (100 to 299)
+ icon_suffix = "100"
+ if (300 to 499)
+ icon_suffix = "300"
+ if (500 to INFINITY)
+ icon_suffix = "500"
+ icon_state = "100dollar[icon_suffix]"
+ //TO-DO: Check if the parent update_icon proc has to be called
+
/obj/item/stack/money/escudo
name = "spanish escudos"
desc = "A gold coin. Worth 16 reales."
@@ -245,7 +272,6 @@
icon_state = "goldcoin_pile"
value = 60
return ..()
-
/obj/item/stack/money/doubloon
name = "spanish doubloons"
desc = "A large gold coin, the largest in circulation. Worth 32 reales."
@@ -281,6 +307,7 @@
value = 120
return ..()
+
/obj/item/stack/money/goldnugget
name = "gold nuggets"
desc = "A shiny gold nugget."
diff --git a/code/game/objects/map_metadata/nomads_oceania.dm b/code/game/objects/map_metadata/nomads_oceania.dm
index 04337d3791..b7a4df2782 100644
--- a/code/game/objects/map_metadata/nomads_oceania.dm
+++ b/code/game/objects/map_metadata/nomads_oceania.dm
@@ -3,7 +3,7 @@
ID = MAP_NOMADS_OCEANIA
title = "Nomads (Oceania)"
lobby_icon = 'icons/lobby/oceania.png'
- no_winner ="The round is proceeding normally."
+ no_winner = "The round is proceeding normally."
caribbean_blocking_area_types = list(/area/caribbean/no_mans_land/invisible_wall/)
respawn_delay = 6000 // 10 minutes!
has_hunger = TRUE
@@ -17,13 +17,13 @@
civilizations = TRUE
var/tribes_nr = 1
faction_distribution_coeffs = list(CIVILIAN = 1)
- battle_name = "the civilizations"
+ battle_name = "Civilizations"
mission_start_message = "After ages as hunter-gatherers, people are starting to form groups and settle down. Will they be able to work together?
Wiki Guide: https://civ13.github.io/civ13-wiki/Civilizations_and_Nomads"
ambience = list('sound/ambience/jungle1.ogg')
faction1 = CIVILIAN
availablefactions = list("Nomad")
songs = list(
- "Didgeridoo" = 'sound/music/didgeridoo.ogg',)
+ "Didgeridoo:1" = 'sound/music/didgeridoo.ogg',)
research_active = TRUE
nomads = TRUE
gamemode = "Classic (Stone Age Start)"
diff --git a/code/modules/1713/weapons/guns/mg/stationary/mg.dm b/code/modules/1713/weapons/guns/mg/stationary/mg.dm
index 3272ea69cb..3b405305ad 100644
--- a/code/modules/1713/weapons/guns/mg/stationary/mg.dm
+++ b/code/modules/1713/weapons/guns/mg/stationary/mg.dm
@@ -674,7 +674,7 @@
return FALSE
/obj/item/weapon/gun/projectile/automatic/stationary/atgm/update_icon()
- if (rockets.len)
+ if (rockets.len > 0)
icon_state = base_icon
else
icon_state = "[base_icon]_empty"
diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi
index 90ff9463f8..0f292ae615 100644
Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ
diff --git a/icons/obj/banking.dmi b/icons/obj/banking.dmi
new file mode 100644
index 0000000000..fbf329ee62
Binary files /dev/null and b/icons/obj/banking.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 63630061b3..a429ed5335 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/sound/machines/atm/access_denied.mp3 b/sound/machines/atm/access_denied.mp3
new file mode 100644
index 0000000000..16b3be7b72
Binary files /dev/null and b/sound/machines/atm/access_denied.mp3 differ
diff --git a/sound/machines/atm/atm_deposit.ogg b/sound/machines/atm/atm_deposit.ogg
new file mode 100644
index 0000000000..62699631dd
Binary files /dev/null and b/sound/machines/atm/atm_deposit.ogg differ
diff --git a/sound/machines/atm/atm_deposit_open_1.ogg b/sound/machines/atm/atm_deposit_open_1.ogg
new file mode 100644
index 0000000000..03fe5900a3
Binary files /dev/null and b/sound/machines/atm/atm_deposit_open_1.ogg differ
diff --git a/sound/machines/atm/atm_withdraw.ogg b/sound/machines/atm/atm_withdraw.ogg
new file mode 100644
index 0000000000..d5db4f8e0c
Binary files /dev/null and b/sound/machines/atm/atm_withdraw.ogg differ