Skip to content

Commit

Permalink
Merge branch 'master' into Combat-invitation
Browse files Browse the repository at this point in the history
  • Loading branch information
Kitsunemitsu authored Feb 2, 2025
2 parents 3e0e667 + e300309 commit fcf3452
Show file tree
Hide file tree
Showing 471 changed files with 111,934 additions and 8,098 deletions.
13 changes: 7 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -215,13 +215,14 @@ tools/CreditsTool/obj/*
#dmdoc default folder
/dmdoc

/config/*
!/config/example
!/config/example/*

# Ignore custom music and title screens (amend as appropriate)
/config/jukebox_music/sounds/*
!/config/jukebox_music/sounds/exclude
/config/title_music/sounds/*
!/config/title_music/sounds/exclude
/config/title_screens/images/*
!/config/title_screens/images/exclude
/config/example/jukebox_music/sounds/exclude
/config/example/title_music/sounds/exclude
/config/example/title_screens/images/exclude

#Linux docker
tools/LinuxOneShot/SetupProgram/obj/*
Expand Down
Binary file modified ModularTegustation/Teguicons/48x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/96x48.dmi
Binary file not shown.
Binary file added ModularTegustation/Teguicons/blood_fiend_gear.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/lc13_coloreffect.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/resurgence_32x48.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/resurgence_48x48.dmi
Binary file not shown.
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/status_sprites.dmi
Binary file not shown.
Binary file modified ModularTegustation/Teguicons/tegumobs.dmi
Binary file not shown.
106 changes: 106 additions & 0 deletions ModularTegustation/delivery_doors.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
// Doors for parcels to be delivered to. Simulated mailman.
// A good way to get money without combat.
/obj/structure/delivery_door
name = "locked door"
desc = "A doorway to somewhere your not allowed to be."
icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi'
icon_state = "closed"
anchored = TRUE
layer = CLOSED_DOOR_LAYER
var/address = "000"
var/list/item_order = list()

/obj/structure/delivery_door/Initialize()
. = ..()
address = "[x]-[y]"
name += " ([address])"

/obj/structure/delivery_door/attackby(obj/item/I, mob/user)
var/ordered_item = locate(I) in item_order
if(ordered_item)
Reward(user, I, item_order[ordered_item])
item_order -= ordered_item
return
if(istype(I, /obj/item/delivery_parcel))
// Deliver the item.
var/obj/item/delivery_parcel/D = I
if(D.address == address)
Reward(user, D, 150 + rand(-1,20))
return
return ..()

// Create parcel to be delivered.
/obj/structure/delivery_door/proc/OrderParcel(origin)
if(!isturf(origin) && !isatom(origin))
return FALSE
var/obj/item/delivery_parcel/D = new (get_turf(origin))
D.labelParcel(address)
return TRUE

// Order items that are not safety sealed.
/obj/structure/delivery_door/proc/OrderItems(origin, obj/item/T = /obj/item/food/pizza/margherita, delivery_payment = 30)
if(!isturf(origin) && !isatom(origin))
return FALSE
item_order += T
item_order[T] = delivery_payment
var/obj/item/paper/P = new (get_turf(origin))
P.setText("<br><br><center><b>[address] orders a [initial(T.name)] for [delivery_payment] Ahn.</b></center>")
return TRUE

// Pay the pizzaman
/obj/structure/delivery_door/proc/Reward(mob/living/user, obj/item/delivery, amt)
var/obj/item/holochip/H = new (get_turf(user), amt)
user.put_in_hands(H)
to_chat(user, span_notice("The parcel is taken and payment is quickly tossed into your hand before the door locks again."))
qdel(delivery)
playsound(get_turf(src), 'sound/effects/bin_close.ogg', 35, 3, 3)

// Delivery Object
/obj/item/delivery_parcel
name = "delivery parcel"
desc = "A large delivery parcel that has a J corp lock on it."
icon = 'icons/obj/tank.dmi'
icon_state = "plasmaman_tank"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
worn_icon = 'icons/mob/clothing/back.dmi'
var/address = "000"

/obj/item/delivery_parcel/proc/labelParcel(num)
address = num
name += " ([address])"

/*
* TRACKER
*/

/obj/item/pinpointer/coordinate
name = "coordinate pinpointer"
desc = "Use in hand to set target cordnates."
icon_state = "pinpointer_syndicate"
custom_price = PAYCHECK_MEDIUM * 4
custom_premium_price = PAYCHECK_MEDIUM * 6
var/coords

/obj/item/pinpointer/coordinate/examine(mob/user)
. = ..()
if(!active || !target)
return
if(coords)
. += coords

/obj/item/pinpointer/coordinate/attack_self(mob/living/user)
if(active)
toggle_on()
user.visible_message(span_notice("[user] deactivates [user.p_their()] pinpointer."), span_notice("You deactivate your pinpointer."))
return

var/target_x = input(user, "x coordinate", "Pinpoint") as null|num
var/target_y = input(user, "y coordinate", "Pinpoint") as null|num
if(!target_x || !target_y || QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated())
return

target = locate(target_x, target_y, user.z)
coords = "X:[target_x]|Y:[target_y]"
toggle_on()
user.visible_message(span_notice("[user] activates [user.p_their()] pinpointer."), span_notice("You activate your pinpointer."))
3 changes: 3 additions & 0 deletions ModularTegustation/ego_weapons/melee/subtype/lance.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@
if(charge_speed > -(bump_threshold))
RaiseLance(user)
return
if(istype(A, /mob/living/simple_animal/projectile_blocker_dummy))
var/mob/living/simple_animal/projectile_blocker_dummy/pbd = A
A = pbd.parent
if(isliving(A))
if(ishuman(A) && user.faction_check_mob(A))
var/mob/living/carbon/human/H = A
Expand Down
11 changes: 11 additions & 0 deletions ModularTegustation/ego_weapons/melee/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,17 @@
charge_speed_cap = 2
couch_cooldown_time = 3 SECONDS

/obj/item/ego_weapon/kikimora
name = "kiki mora"
desc = "Many would speak her name."
icon_state = "kikimora"
force = 35
attack_speed = 1.6
damtype = RED_DAMAGE
attack_verb_continuous = list("beats", "smacks")
attack_verb_simple = list("beat", "smack")
hitsound = 'sound/weapons/fixer/generic/gen1.ogg'

/obj/item/ego_weapon/denial
name = "denial"
desc = "Unregulated ingestion of Enkephalin may cause a wide range of unverified psychopathological symptoms."
Expand Down
61 changes: 61 additions & 0 deletions ModularTegustation/ego_weapons/melee/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2319,3 +2319,64 @@
qdel(src)
return TRUE

/obj/item/ego_weapon/contempt
name = "contempt, awe"
desc = "From the excavated brain, geysers of hatred and contempt erupt. It's as if those feelings were inside you all along."
icon_state = "contempt"
force = 50
reach = 2
stuntime = 5
throwforce = 80
throw_speed = 5
throw_range = 7
damtype = BLACK_DAMAGE
attack_verb_continuous = list("pokes", "jabs", "tears", "lacerates", "gores")
attack_verb_simple = list("poke", "jab", "tear", "lacerate", "gore")
hitsound = 'sound/abnormalities/spiral_contempt/spiral_hit.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80
)
var/list/targets = list()
var/ranged_damage = 70
var/mode = FALSE
var/toggle_cooldown
var/toggle_cooldown_time = 1 SECONDS

/obj/item/ego_weapon/contempt/attack(mob/living/M, mob/living/user)
if(!CanUseEgo(user))
return

if(!mode)
if(!(M in targets))
targets+= M
if(mode)
if(M in targets)
playsound(M, 'sound/abnormalities/spiral_contempt/spiral_bleed.ogg', 100, FALSE, 4)
M.apply_damage(ranged_damage, BLACK_DAMAGE, null, M.run_armor_check(null, BLACK_DAMAGE), spread_damage = TRUE)
new /obj/effect/temp_visual/contempt_blood(get_turf(M))
targets -= M
..()
hitsound = initial(hitsound)

/obj/item/ego_weapon/contempt/attack_self(mob/user)
if(!CanUseEgo(user))
return
if(toggle_cooldown > world.time)//spam prevention
return
toggle_cooldown = world.time + toggle_cooldown_time
if(mode)
mode = FALSE
to_chat(user,span_warning("Your [src] now drips with blood."))
targets = list()
playsound(src, 'sound/abnormalities/spiral_contempt/spiral_grow.ogg', 20, FALSE)
return

if(!mode)
mode = TRUE
to_chat(user,span_warning("Your [src] now menances with spikes of gold."))
playsound(src, 'sound/abnormalities/spiral_contempt/spiral_whine.ogg', 20, FALSE)
return


/obj/item/ego_weapon/contempt/get_clamped_volume()
return 25
8 changes: 4 additions & 4 deletions ModularTegustation/ego_weapons/ranged/ego_bullets/waw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
return BULLET_ACT_BLOCK
switch(damage_type)
if(WHITE_DAMAGE)
H.adjustSanityLoss(-damage*0.2)
H.adjustSanityLoss(-10)
if(BLACK_DAMAGE)
H.adjustBruteLoss(-damage*0.1)
H.adjustSanityLoss(-damage*0.1)
H.adjustBruteLoss(-5)
H.adjustSanityLoss(-5)
else // Red or pale
H.adjustBruteLoss(-damage*0.2)
H.adjustBruteLoss(-10)
H.visible_message("<span class='warning'>[src] vanishes on contact with [H]!</span>")
qdel(src)
return BULLET_ACT_BLOCK
Expand Down
5 changes: 3 additions & 2 deletions ModularTegustation/fishing/code/fish_market.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,15 @@
var/obj/item/storage/bag/fish/bag = I
var/fish_value = 0
for(var/item in bag.contents)
if(istype(item, /obj/item/stack/fish_points))
continue

if(istype(item, /obj/item/fishing_component/hook/bone))
fish_value += 5

if(istype(item, /obj/item/food/fish))
fish_value += ValueFish(item)

else
continue
qdel(item)

AdjustPoints(fish_value)
Expand Down
20 changes: 20 additions & 0 deletions ModularTegustation/fishing/code/fishing_items/fishing_net.dm
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,23 @@
fishin_power = 1
enemy_chance = 95
capacity = 1

//Clan Nets
/obj/item/fishing_net/resurgence
name = "resurgence clan fishing net"
desc = "Resurgence Clan nets are slightly better then the normal fishing net, and have a slightly higher chance at catching foes"
icon = 'ModularTegustation/fishing/icons/fishing.dmi'
icon_state = "clan_net"
w_class = WEIGHT_CLASS_HUGE
deploy_type = /obj/structure/destructible/fishing_net/resurgence

/obj/structure/destructible/fishing_net/resurgence
name = "resurgence clan fishing net"
desc = "A wall of twine and wires that traps fish. Alt click to harvest."
icon_state = "trawling_net_clan"
icon_state_fished = "trawling_net_clan_full"
debris = list(/obj/item/fishing_net/resurgence = 1)
net_type = /obj/item/fishing_net/resurgence
fishin_cooldown = 30 SECONDS
fishin_power = 1
enemy_chance = 25
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,10 @@
icon_state = "green"
fishing_value = 0.4
line_color = "#2b9c2b"

/obj/item/fishing_component/line/clan
name = "resurgence clan fishing line reel"
desc = "Essential for fishing in the outskirts."
icon_state = "clan"
fishing_value = 0.6
line_color = "#057A71"
Binary file modified ModularTegustation/fishing/icons/fishing.dmi
Binary file not shown.
Binary file modified ModularTegustation/fishing/icons/fishing_lines.dmi
Binary file not shown.
Loading

0 comments on commit fcf3452

Please sign in to comment.