Skip to content

Commit

Permalink
Changes, QoL, Classes additions (#97)
Browse files Browse the repository at this point in the history
* Revert "fixing food, rebalancing rogue"

This reverts commit ff631a8.

* Update

Autolock/autounlock door via bump with keychain by PPooch
Permits beds (and subtypes of beds) to be used without buckling to them - DeltaFire15
collect items bundle via clicking on turf - Tenryumi
Butt Layer Change and Clothes inv flag update - Ghostcoffeee

* nvm / Priest change

PriestExcommunicate/Heretic, Fix Sellsword's bevor

* ranged variants

* remove priest stuffs

* revert rogue revert

* Revert "Merge branch 'main' into addition"

This reverts commit 1387760, reversing
changes made to b0eed5c.

* Reapply "Merge branch 'main' into addition"

This reverts commit 61a4b32.

* fixed revert issue

* changed bullet pouch

* Revert "changed bullet pouch"

This reverts commit 7624f38.
  • Loading branch information
UniquaSa authored Dec 19, 2024
1 parent c968702 commit 0685020
Show file tree
Hide file tree
Showing 24 changed files with 241 additions and 45 deletions.
22 changes: 22 additions & 0 deletions code/game/objects/items/rogueitems/natural.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,28 @@
user.visible_message("[user] removes [F] from [src]")
update_bundle()

/obj/item/natural/bundle/attack_turf(turf/T, mob/living/user)
var/list/obj/item/stackables = list()
for(var/obj/I in T.contents)
if(I.type == stacktype)
stackables += I
if(stackables.len)
if(amount >= maxamount)
to_chat(user, span_info("[src] can't hold any more without falling apart."))
return
to_chat(user, span_info("I begin filling [src]..."))
for(var/obj/I in stackables)
if(amount >= maxamount)
break
if(I.type == stacktype)
if(!do_after(user, 5, TRUE, src))
break
if(!(I in T.contents))
continue
qdel(I)
src.amount++
update_bundle()

/obj/item/natural/bundle/examine(mob/user)
. = ..()
to_chat(user, span_notice("There are [amount] [stackname] in this bundle."))
Expand Down
34 changes: 34 additions & 0 deletions code/game/objects/items/rogueitems/natural/clothfibersthorn.dm
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,40 @@
icon2step = 7
icon3 = "stickbundle3"

/obj/item/natural/bundle/stick/attackby(obj/item/W, mob/living/user)
. = ..()
user.changeNext_move(CLICK_CD_MELEE)
if(user.used_intent?.blade_class == BCLASS_CUT)
playsound(get_turf(src.loc), 'sound/items/wood_sharpen.ogg', 100)
user.visible_message(span_info("[user] starts sharpening the sticks in [src]..."), span_info("I start sharpening the sticks in [src]...."))
for(var/i in 1 to (amount - 1))
if(!do_after(user, 20))
break
var/turf/T = get_turf(user.loc)
var/obj/item/grown/log/tree/stake/S = new /obj/item/grown/log/tree/stake(T)
amount--
// If there's only one stick left in the bundle...
if (amount == 1)
// Replace the bundle with a single stick
var/obj/item/ST = new stacktype(T)
if(user.is_holding(src))
user.doUnEquip(src, TRUE, T, silent = TRUE)
qdel(src)
var/holding = user.put_in_hands(ST)
// And automatically have us try and carve the last new stick, assuming we're still holding it!
if(!do_after(user, 20))
break
S = new /obj/item/grown/log/tree/stake(T)
if(holding)
user.doUnEquip(ST, TRUE, T, silent = TRUE)
qdel(ST)
else
update_bundle()
user.put_in_hands(S)
S.pixel_x = rand(-3, 3)
S.pixel_y = rand(-3, 3)
return

/obj/item/natural/bundle/bone
name = "stack of bones"
icon_state = "bonestack1"
Expand Down
34 changes: 29 additions & 5 deletions code/game/objects/structures/mineral_doors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
var/kickthresh = 15
var/swing_closed = TRUE
var/lock_strength = 100
var/mob/last_bumper = null

damage_deflection = 10

Expand Down Expand Up @@ -152,6 +153,9 @@
user.visible_message(span_warning("[user] smashes through [src]!"))
return
if(locked)
if(istype(user.get_active_held_item(), /obj/item/key) || istype(user.get_active_held_item(), /obj/item/storage/keyring))
src.attackby(user.get_active_held_item(), user, TRUE)
return
door_rattle()
return
if(TryToSwitchState(AM))
Expand Down Expand Up @@ -245,7 +249,7 @@
if(close_delay != -1)
addtimer(CALLBACK(src, PROC_REF(Close)), close_delay)

/obj/structure/mineral_door/proc/Close(silent = FALSE)
/obj/structure/mineral_door/proc/Close(silent = FALSE, autobump = FALSE)
if(isSwitchingStates || !door_opened)
return
var/turf/T = get_turf(src)
Expand All @@ -264,6 +268,10 @@
air_update_turf(1)
update_icon()
isSwitchingStates = FALSE
if(autobump && src.Adjacent(last_bumper))
if(istype(last_bumper.get_active_held_item(), /obj/item/key) || istype(last_bumper.get_active_held_item(), /obj/item/storage/keyring))
src.attack_right(last_bumper)
last_bumper = null

/obj/structure/mineral_door/update_icon()
icon_state = "[base_state][door_opened ? "open":""]"
Expand All @@ -275,14 +283,19 @@
animate(pixel_x = oldx-1, time = 0.5)
animate(pixel_x = oldx, time = 0.5)

/obj/structure/mineral_door/attackby(obj/item/I, mob/user)
/obj/structure/mineral_door/attackby(obj/item/I, mob/user, autobump = FALSE)
user.changeNext_move(CLICK_CD_FAST)
if(istype(I, /obj/item/roguekey) || istype(I, /obj/item/storage/keyring))
if(!locked)
to_chat(user, span_warning("It won't turn this way. Try turning to the right."))
door_rattle()
return
trykeylock(I, user)
if(autobump == TRUE) //Attackby passes UI coordinate onclick stuff, so forcing check to TRUE
trykeylock(I, user, autobump)
return
else
trykeylock(I, user)
return
if(istype(I, /obj/item/lockpick))
trypicklock(I, user)
if(istype(I,/obj/item/lockpickring))
Expand All @@ -306,7 +319,7 @@
else
return ..()

/obj/structure/mineral_door/proc/trykeylock(obj/item/I, mob/user)
/obj/structure/mineral_door/proc/trykeylock(obj/item/I, mob/user, autobump = FALSE)
if(door_opened || isSwitchingStates)
return
if(!keylock)
Expand All @@ -325,17 +338,28 @@
break
if(K.lockhash == lockhash)
lock_toggle(user)
break
if(autobump && !locked)
src.Open()
addtimer(CALLBACK(src, PROC_REF(Close), FALSE, TRUE), 25)
src.last_bumper = user
return
else
if(user.cmode)
door_rattle()
to_chat(user, span_warning("None of the keys on my keyring go to this door."))
door_rattle()
return
else
var/obj/item/roguekey/K = I
if(K.lockhash == lockhash)
lock_toggle(user)
if(autobump)
src.Open()
addtimer(CALLBACK(src, PROC_REF(Close), FALSE, TRUE), 25)
src.last_bumper = user
return
else
to_chat(user, span_warning("This is not the correct key that goes to this door."))
door_rattle()
return

Expand Down
2 changes: 2 additions & 0 deletions code/modules/antagonists/roguetown/villain/vampirelord.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
icon_state = "vrobe"
item_state = "vrobe"
resistance_flags = FIRE_PROOF | ACID_PROOF
flags_inv = HIDECROTCH|HIDEBOOB|HIDEBUTT

/obj/item/clothing/head/roguetown/vampire
name = "crown of darkness"
Expand All @@ -220,6 +221,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
body_parts_covered = CHEST|GROIN|VITALS
armor_class = 2
resistance_flags = FIRE_PROOF | ACID_PROOF
flags_inv = HIDEBOOB

/obj/item/clothing/suit/roguetown/armor/plate/vampire
slot_flags = ITEM_SLOT_ARMOR
Expand Down
2 changes: 1 addition & 1 deletion code/modules/cargo/packsrogue/Sellsword.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
/datum/supply_pack/rogue/Sellsword/Bevor
name = "Bevor"
cost = 20
contains = /obj/item/clothing/neck/roguetown/bevor
contains = list(/obj/item/clothing/neck/roguetown/bevor)


/datum/supply_pack/rogue/Sellsword/gorget
Expand Down
15 changes: 14 additions & 1 deletion code/modules/clothing/rogueclothes/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
drop_sound = 'sound/foley/dropsound/armor_drop.ogg'
experimental_onhip = TRUE
nodismemsleeves = TRUE
flags_inv = HIDEBOOB|HIDECROTCH
flags_inv = HIDEBOOB|HIDECROTCH|HIDEBUTT

/obj/item/clothing/suit/roguetown/armor/chainmail
slot_flags = ITEM_SLOT_ARMOR|ITEM_SLOT_SHIRT
Expand Down Expand Up @@ -87,6 +87,7 @@
allowed_race = CLOTHED_RACES_TYPES
body_parts_covered = CHEST|GROIN
armor_class = ARMOR_CLASS_LIGHT
flags_inv = HIDEBOOB|HIDECROTCH

/obj/item/clothing/suit/roguetown/armor/plate
slot_flags = ITEM_SLOT_ARMOR
Expand All @@ -107,6 +108,7 @@
unequip_delay_self = 4 SECONDS
armor_class = ARMOR_CLASS_HEAVY
smelt_bar_num = 3
flags_inv = HIDEBOOB // Sprite stops just at the waist line

/obj/item/clothing/suit/roguetown/armor/plate/bikini
name = "half-plate bikini"
Expand All @@ -118,6 +120,7 @@
allowed_sex = list(MALE, FEMALE)
armor_class = ARMOR_CLASS_MEDIUM
smelt_bar_num = 2
flags_inv = HIDEBOOB|HIDECROTCH

/obj/item/clothing/suit/roguetown/armor/plate/half
slot_flags = ITEM_SLOT_ARMOR
Expand All @@ -136,6 +139,7 @@
smeltresult = /obj/item/ingot/steel
armor_class = ARMOR_CLASS_MEDIUM
smelt_bar_num = 2
flags_inv = HIDEBOOB

/obj/item/clothing/suit/roguetown/armor/plate/full
name = "plate armor"
Expand All @@ -160,6 +164,7 @@
equip_delay_other = 3 SECONDS
strip_delay = 6 SECONDS
smelt_bar_num = 3
flags_inv = HIDEBOOB|HIDECROTCH

/obj/item/clothing/suit/roguetown/armor/plate/half/iron
name = "iron breastplate"
Expand All @@ -169,6 +174,7 @@
smeltresult = /obj/item/ingot/iron
armor_class = ARMOR_CLASS_MEDIUM
smelt_bar_num = 2
flags_inv = HIDEBOOB

/obj/item/clothing/suit/roguetown/armor/plate/half/elven
name = "elven guardian cuirass"
Expand Down Expand Up @@ -401,6 +407,7 @@
max_integrity = 150
sellprice = 20
armor_class = ARMOR_CLASS_LIGHT
flags_inv = HIDECROTCH|HIDEBOOB

/obj/item/clothing/suit/roguetown/armor/leather/hide
name = "hide armor"
Expand Down Expand Up @@ -433,6 +440,7 @@
mob_overlay_icon = 'modular_causticcove/icons/roguetown/clothing/onmob/armor.dmi'
allowed_sex = list(MALE, FEMALE)
allowed_race = CLOTHED_RACES_TYPES
flags_inv = HIDEBOOB|HIDECROTCH

/obj/item/clothing/suit/roguetown/armor/leather/studded/bikini
name = "studded leather bikini"
Expand All @@ -443,6 +451,7 @@
mob_overlay_icon = 'modular_causticcove/icons/roguetown/clothing/onmob/armor.dmi'
allowed_sex = list(MALE, FEMALE)
allowed_race = CLOTHED_RACES_TYPES
flags_inv = HIDEBOOB|HIDECROTCH

/obj/item/clothing/suit/roguetown/armor/leather/hide/bikini
name = "hide bikini"
Expand All @@ -453,6 +462,7 @@
mob_overlay_icon = 'modular_causticcove/icons/roguetown/clothing/onmob/armor.dmi'
allowed_sex = list(MALE, FEMALE)
allowed_race = CLOTHED_RACES_TYPES
flags_inv = HIDEBOOB|HIDECROTCH

/obj/item/clothing/suit/roguetown/armor/leather/vest
name = "leather vest"
Expand Down Expand Up @@ -481,6 +491,7 @@
slot_flags = ITEM_SLOT_ARMOR
sleeved = 'icons/roguetown/clothing/onmob/helpers/sleeves_armor.dmi'
sleevetype = "shirt"
flags_inv = HIDEBOOB|HIDEBUTT

/obj/item/clothing/suit/roguetown/armor/leather/vest/white
color = CLOTHING_WHITE
Expand Down Expand Up @@ -509,6 +520,7 @@
sleeved = 'icons/roguetown/clothing/onmob/armor.dmi'
allowed_sex = list(MALE, FEMALE)
allowed_race = NON_DWARVEN_RACE_TYPES
flags_inv = HIDEBOOB|HIDEBUTT


/obj/item/clothing/suit/roguetown/armor/leather/vest/hand
Expand Down Expand Up @@ -630,6 +642,7 @@
smeltresult = /obj/item/ingot/blacksteel
armor_class = ARMOR_CLASS_MEDIUM
smelt_bar_num = 2
flags_inv = HIDEBOOB

/obj/item/clothing/suit/roguetown/armor/gambeson/hierophant
name = "hierophant's shawl"
Expand Down
14 changes: 12 additions & 2 deletions code/modules/clothing/rogueclothes/cloaks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,10 @@
GLOB.lordcolor -= src
return ..()

/obj/item/clothing/cloak/tabard/musketeer
detail_tag = "_psy"
color = CLOTHING_BLUE
detail_color = CLOTHING_WHITE

//////////////////////////
/// SOLDIER TABARD
Expand All @@ -307,7 +311,7 @@
sleevetype = "shirt"
nodismemsleeves = TRUE
slot_flags = ITEM_SLOT_ARMOR|ITEM_SLOT_CLOAK
flags_inv = HIDECROTCH|HIDEBOOB
flags_inv = HIDECROTCH|HIDEBOOB|HIDEBUTT
var/picked

/obj/item/clothing/cloak/stabard/attack_right(mob/user)
Expand Down Expand Up @@ -591,6 +595,7 @@
allowed_race = NON_DWARVEN_RACE_TYPES
detail_tag = "_det"
detail_color = CLOTHING_AZURE
flags_inv = HIDEBOOB

/obj/item/clothing/cloak/lordcloak/update_icon()
cut_overlays()
Expand Down Expand Up @@ -768,6 +773,7 @@
inhand_mod = TRUE
hoodtype = /obj/item/clothing/head/hooded/rainhood
toggle_icon_state = FALSE
flags_inv = HIDEBOOB

/obj/item/clothing/wash_act(clean)
. = ..()
Expand Down Expand Up @@ -936,6 +942,7 @@
allowed_sex = list(MALE, FEMALE)
allowed_race = NON_DWARVEN_RACE_TYPES
nodismemsleeves = TRUE
flags_inv = HIDECROTCH|HIDEBOOB|HIDEBUTT


/obj/item/clothing/cloak/stole
Expand Down Expand Up @@ -978,6 +985,7 @@
allowed_race = NON_DWARVEN_RACE_TYPES
sellprice = 50
nodismemsleeves = TRUE
flags_inv = HIDEBOOB

/obj/item/clothing/cloak/half
name = "halfcloak"
Expand All @@ -996,7 +1004,7 @@
toggle_icon_state = FALSE
color = CLOTHING_BLACK
allowed_sex = list(MALE, FEMALE)
flags_inv = null
flags_inv = HIDEBOOB // Put this here, since the covered boob otherwise clips through

/obj/item/clothing/cloak/half/ComponentInitialize()
. = ..()
Expand Down Expand Up @@ -1042,6 +1050,7 @@
allowed_sex = list(MALE, FEMALE)
allowed_race = NON_DWARVEN_RACE_TYPES
inhand_mod = FALSE
flags_inv = null

/obj/item/clothing/cloak/half/vet/Initialize()
. = ..()
Expand Down Expand Up @@ -1328,6 +1337,7 @@
detail_color = CLOTHING_WHITE
icon_state = "guard_hood"
body_parts_covered = CHEST
flags_inv = HIDEBOOB

/obj/item/clothing/cloak/stabard/guardhood/attack_right(mob/user)
if(picked)
Expand Down
Loading

0 comments on commit 0685020

Please sign in to comment.