Skip to content

Commit

Permalink
gggggggggggggggggggg
Browse files Browse the repository at this point in the history
  • Loading branch information
Discozavisim committed Feb 3, 2025
1 parent 1833835 commit 5a16c89
Show file tree
Hide file tree
Showing 14 changed files with 109 additions and 37 deletions.
18 changes: 10 additions & 8 deletions code/controllers/master.dm
Original file line number Diff line number Diff line change
Expand Up @@ -243,39 +243,41 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
if(W.key)
var/datum/preferences/P = GLOB.preferences_datums[ckey(W.key)]
if(P)
P.add_experience(get_a_intelligence(W))
if(P.old_enough_to_get_exp)
P.add_experience(get_a_intelligence(W))
for(var/mob/living/carbon/human/H in GLOB.human_list)
if(H)
if(H.stat != DEAD)
if(H.key)
var/datum/preferences/P = GLOB.preferences_datums[ckey(H.key)]
if(P)
// P.add_experience(get_a_intelligence(H))
if(P.old_enough_to_get_exp)
P.add_experience(get_a_intelligence(H))
if(H.mind)
if("[H.mind.assigned_role]" == "Prince" || "[H.mind.assigned_role]" == "Sheriff" || "[H.mind.assigned_role]" == "Scourge" || "[H.mind.assigned_role]" == "Seneschal" || "[H.mind.assigned_role]" == "Chantry Regent" || "[H.mind.assigned_role]" == "Baron" || "[H.mind.assigned_role]" == "Dealer")
P.add_experience(2)
P.add_experience(5)
if(won)
if(H.vampire_faction == won)
P.add_experience(1)
P.add_experience(5)
// if(H.total_contracted > 1)
// P.add_experience(1)
/* var/toreador_bonus = 0
if(iskindred(H) && H.clane)
if(H.clane.name == "Toreador")
toreador_bonus = 1*/
if(H.total_erp > 9000)
P.add_experience(2)
P.add_experience(5)
if(H.total_cleaned > 25)
P.add_experience(1)
P.add_experience(5)
call_dharma("cleangrow", H)
if(H.mind)
if(H.mind.assigned_role == "Graveyard Keeper")
if(SSgraveyard.total_good > SSgraveyard.total_bad)
P.add_experience(1)
P.add_experience(5)
if(H.mind.special_role)
var/datum/antagonist/A = H.mind.special_role
if(A.check_completed())
P.add_experience(3)
P.add_experience(5)
P.save_preferences()
P.save_character()
var/old_runlevel = current_runlevel
Expand Down
21 changes: 11 additions & 10 deletions code/controllers/subsystem/city_time.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,15 @@ SUBSYSTEM_DEF(city_time)
if(H.key)
var/datum/preferences/P = GLOB.preferences_datums[ckey(H.key)]
if(P)
P.old_enough_to_get_exp = TRUE
// P.add_experience(get_a_intelligence(H))
if(H.mind)
if("[H.mind.assigned_role]" == "Prince" || "[H.mind.assigned_role]" == "Sheriff" || "[H.mind.assigned_role]" == "Seneschal" || "[H.mind.assigned_role]" == "Chantry Regent" || "[H.mind.assigned_role]" == "Baron" || "[H.mind.assigned_role]" == "Dealer")
P.add_experience(2)
P.add_experience(5)
if(!HAS_TRAIT(H, TRAIT_NON_INT))
if(won)
if(H.vampire_faction == won)
P.add_experience(1)
P.add_experience(5)
// if(H.total_contracted > 1)
// P.add_experience(1)
// H.total_contracted = 0
Expand All @@ -67,16 +68,16 @@ SUBSYSTEM_DEF(city_time)
if(H.clane.name == "Toreador")
toreador_bonus = 1*/
if(H.total_erp > 1500)
P.add_experience(2)
P.add_experience(5)
H.total_erp = 0
if(H.total_cleaned > 25)
P.add_experience(1)
P.add_experience(5)
H.total_cleaned = 0
call_dharma("cleangrow", H)
if(H.mind)
if(H.mind.assigned_role == "Graveyard Keeper")
if(SSgraveyard.total_good > SSgraveyard.total_bad)
P.add_experience(1)
P.add_experience(5)
P.save_preferences()
P.save_character()

Expand Down Expand Up @@ -104,11 +105,11 @@ SUBSYSTEM_DEF(city_time)
// P.add_experience(get_a_intelligence(H))
if(H.mind)
if("[H.mind.assigned_role]" == "Prince" || "[H.mind.assigned_role]" == "Sheriff" || "[H.mind.assigned_role]" == "Seneschal" || "[H.mind.assigned_role]" == "Chantry Regent" || "[H.mind.assigned_role]" == "Baron" || "[H.mind.assigned_role]" == "Dealer")
P.add_experience(2)
P.add_experience(5)
if(!HAS_TRAIT(H, TRAIT_NON_INT))
if(won)
if(H.vampire_faction == won)
P.add_experience(1)
P.add_experience(5)
// if(H.total_contracted > 1)
// P.add_experience(3)
// H.total_contracted = 0
Expand All @@ -117,16 +118,16 @@ SUBSYSTEM_DEF(city_time)
if(H.clane.name == "Toreador")
toreador_bonus = 1*/
if(H.total_erp > 9000)
P.add_experience(2)
P.add_experience(5)
H.total_erp = 0
if(H.total_cleaned > 25)
P.add_experience(1)
P.add_experience(5)
H.total_cleaned = 0
call_dharma("cleangrow", H)
if(H.mind)
if(H.mind.assigned_role == "Graveyard Keeper")
if(SSgraveyard.total_good > SSgraveyard.total_bad)
P.add_experience(1)
P.add_experience(5)
P.save_preferences()
P.save_character()

Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/objective.dm
Original file line number Diff line number Diff line change
Expand Up @@ -983,7 +983,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)

/datum/objective/money
name = "earn money"
var/amount = 500
var/amount = 5000

/datum/objective/money/update_explanation_text()
..()
Expand Down
8 changes: 4 additions & 4 deletions code/game/objects/structures/guillotine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,20 +136,20 @@
else
to_chat(M, "<span class='userhelp'><b>Violator was punished</b></span>")
if(P1)
P1.add_experience(1)
P1.add_experience(5)
if(H.diablerist)
if(M.vampire_faction == "Camarilla")
to_chat(M, "<span class='userhelp'><b>Diablerist was punished</b></span>")
if(P1)
P1.add_experience(1)
P1.add_experience(5)
else if(M.vampire_faction)
loved = FALSE
to_chat(M, "<span class='userdanger'><b>You feel your interests being ignored</b></span>")
if(H.bloodhunted)
if(M.vampire_faction == "Camarilla")
to_chat(M, "<span class='userhelp'><b>Blood Hunt after [H] is over</b></span>")
if(P1)
P1.add_experience(1)
P1.add_experience(5)
else if(M.vampire_faction)
loved = FALSE
to_chat(M, "<span class='userdanger'><b>You feel your interests being ignored</b></span>")
Expand All @@ -158,7 +158,7 @@
to_chat(M, "<span class='userhelp'><b>Authority increased</b></span>")
loved = TRUE
if(P1)
P1.add_experience(1)
P1.add_experience(5)
if(loved)
M.emote("clap")
var/datum/preferences/P = GLOB.preferences_datums[ckey(H.key)]
Expand Down
2 changes: 2 additions & 0 deletions code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/Linguistics = 0
var/Occult = 0

var/old_enough_to_get_exp = FALSE

/datum/preferences/proc/add_experience(amount)
true_experience = clamp(true_experience + amount, 0, 1000)

Expand Down
12 changes: 12 additions & 0 deletions code/modules/mob/living/carbon/carbon_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -465,8 +465,20 @@
var/mob/living/carbon/human/human = M
if(human.Myself?.Lover?.owner == src)
call_dharma("meet", M)
if(!human.Myself.got_lovero)
human.Myself.got_lovero = TRUE
if(M.key)
var/datum/preferences/P = GLOB.preferences_datums[ckey(M.key)]
if(P)
P.add_experience(5)
if(human.Myself?.Friend?.owner == src)
call_dharma("meet", M)
if(!human.Myself.got_friendo)
human.Myself.got_friendo = TRUE
if(M.key)
var/datum/preferences/P = GLOB.preferences_datums[ckey(M.key)]
if(P)
P.add_experience(5)

if(body_position == LYING_DOWN)
if(buckled)
Expand Down
11 changes: 10 additions & 1 deletion code/modules/mob/living/carbon/human/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -297,16 +297,25 @@
to_chat(H, "<span class='warning'>You have already noted their masquerade breach! Wait some time until you do that again.</span>")
return
var/reason = input(usr, "Write a description of violation:", "Spot a Masquerade violation") as text|null
if(reason)
if(reason && (iskindred(src) || isghoul(src) || iscathayan(src) || isgarou(src) || iswerewolf(src)))
if (H.voted_for.Find(dna.real_name)) //Rudimentary check to avoid queueing a whole bunch of reason texts and then nuking their masquerade to 0.
to_chat(H, "<span class='warning'>You have already noted their masquerade breach! Wait some time until you do that again.</span>")
return
reason = trim(copytext_char(sanitize(reason), 1, MAX_MESSAGE_LEN))
masquerade_votes++
masquerade_voters += H
message_admins("[ADMIN_LOOKUPFLW(H)] spotted [ADMIN_LOOKUPFLW(src)]'s Masquerade violation. Description: [reason]")
to_chat(src, "<span class='warning'>Someone spotted your behaviour as Masquerade Breach. Reason: [reason]</span>")
H.voted_for |= dna.real_name
if(masquerade_votes > 1)
masquerade_votes = 0
for(var/mob/living/LivingSpotters in masquerade_voters)
if(LivingSpotters)
if(LivingSpotters.key)
var/datum/preferences/P = GLOB.preferences_datums[ckey(LivingSpotters.key)]
if(P)
P.add_experience(1)
masquerade_voters = list()
last_masquerade_violation = 0
AdjustMasquerade(-1)
///////HUDs///////
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/living_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@
var/last_drinkblood_click = 0
var/harm_focus = SOUTH
var/masquerade_votes = 0
var/list/masquerade_voters = list()
var/list/voted_for = list()
var/flavor_text
var/true_real_name
Expand Down
8 changes: 4 additions & 4 deletions code/modules/projectiles/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -353,10 +353,10 @@
to_chat(user, "<span class='warning'>[src] is lethally chambered! You don't want to risk harming anyone...</span>")
return
var/used_roll = get_a_dexterity(user)
if(ishuman(user))
var/mob/living/carbon/human/humhuman = user
if(humhuman.binocling)
used_roll = get_a_perception(user)
// if(ishuman(user))
// var/mob/living/carbon/human/humhuman = user
// if(humhuman.binocling)
// used_roll = get_a_perception(user)
var/add_hard = 0
if(user.zone_selected == BODY_ZONE_HEAD)
add_hard = 1
Expand Down
35 changes: 28 additions & 7 deletions code/modules/vtmb/disciplines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,9 @@
/datum/discipline/proc/post_gain(var/mob/living/carbon/human/H)
return

/atom
var/last_investigated = 0

/atom/examine(mob/user)
. = ..()
if(ishuman(user))
Expand Down Expand Up @@ -202,6 +205,15 @@
to_chat(user, "[finger]")
found_something = TRUE

//Killer
if(isliving(src))
var/mob/living/LivedYoung = src
if(LivedYoung.lastattacker)
for(var/mob/living/carbon/human/huLi in GLOB.player_list)
if(huLi?.dna?.real_name == LivedYoung.lastattacker)
to_chat(user, "<span class='info'><B>Aggressive prints:</B> [md5(huLi.dna.uni_identity)]</span>")
found_something = TRUE

// Blood
if (length(blood))
to_chat(user, "<span class='info'><B>Blood:</B></span>")
Expand All @@ -226,8 +238,9 @@
if(!found_something)
to_chat(user, "<I># No forensic traces found #</I>") // Don't display this to the holder user
return
else if(isobj(src) || ismob(src))
if(secret_vampireroll(get_a_perception(user)+get_a_investigation(user), 6, user) < 4)
else if((isobj(src) || ismob(src)) && last_investigated <= world.time)
last_investigated = world.time+30 SECONDS
if(secret_vampireroll(get_a_perception(user)+get_a_investigation(user), 6, user) < 3)
return

var/list/fingerprints = list()
Expand All @@ -250,6 +263,14 @@
to_chat(user, "[finger]")
found_something = TRUE

//Killer
if(isliving(src))
var/mob/living/LivedYoung = src
if(LivedYoung.lastattacker)
for(var/mob/living/carbon/human/huLi in GLOB.player_list)
if(huLi?.dna?.real_name == LivedYoung.lastattacker)
to_chat(user, "<span class='info'><B>Aggressive prints:</B> [md5(huLi.dna.uni_identity)]</span>")
found_something = TRUE
//Fibers
if(length(fibers))
to_chat(user, "<span class='info'><B>Fibers:</B></span>")
Expand Down Expand Up @@ -651,11 +672,11 @@
if(5)
// MT.cast(list(target), caster, FALSE)
if(!target.spell_immunity)
to_chat(target, "<span class='userdanger'><b>YOU SHOULD HARM YOURSELF NOW</b></span>")
caster.say("YOU SHOULD HARM YOURSELF NOW!!")
var/datum/cb = CALLBACK(TRGT,TYPE_PROC_REF(/mob/living/carbon/human, attack_myself_command))
for(var/i in 1 to 20)
addtimer(cb, (i - 1)*15)
to_chat(target, "<span class='userdanger'><b>YOU SHOULD KILL YOURSELF NOW</b></span>")
caster.say("YOU SHOULD KILL YOURSELF NOW!!")
target.Immobilize(5 SECONDS, TRUE)
if(do_mob(target, target, 6 SECONDS))
target.suicide()

spawn(2 SECONDS)
if(TRGT)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/vtmb/jobs/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@
if(2)
var/datum/objective/money/money_objective = new
money_objective.owner = owner
money_objective.amount = rand(500, 3000)
money_objective.amount = rand(3000, 5000)
objectives += money_objective
money_objective.update_explanation_text()
if(3)
Expand All @@ -435,7 +435,7 @@
else
var/datum/objective/money/money_objective = new
money_objective.owner = owner
money_objective.amount = rand(300, 1000)
money_objective.amount = rand(3000, 5000)
objectives += money_objective
money_objective.update_explanation_text()
if(4)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/vtmb/vampire_clane/clane.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ And it also helps for the character set panel
var/phone_number

var/mob/living/carbon/human/owner
var/got_friendo = FALSE
var/got_lovero = FALSE

/datum/relationship/proc/generate_relationships()
if(!owner)
Expand Down
6 changes: 6 additions & 0 deletions code/modules/wod13/decor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -252,12 +252,18 @@
if(V.upper)
icon_state = "[initial(icon_state)]-snow"

/obj/structure/trashcan
var/last_investigation = 0

/obj/structure/trashcan/attack_hand(mob/living/user)
. = ..()
if(last_investigation > world.time)
return
if(!searching)
searching = TRUE
if(do_mob(user, src, 20 SECONDS))
searching = FALSE
last_investigation = world.time+30 SECONDS
var/result = secret_vampireroll(get_a_perception(user)+get_a_investigation(user), 6, user)
switch(result)
if(-1)
Expand Down
16 changes: 16 additions & 0 deletions code/modules/wod13/doorcode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,9 @@
if(-INFINITY to LOCKDIFFICULTY_2) //LOCKDIFFICULTY_1 is basically the minimum so we can just do LOCKTIMER_1 from -INFINITY
lockpick_timer = LOCKTIMER_1

/obj/structure/vampdoor
var/last_investigation = 0

/obj/structure/vampdoor/examine(mob/user)
. = ..()
if(!ishuman(user))
Expand All @@ -384,6 +387,19 @@
if(8 to INFINITY) //Becomes guaranteed to lockpick at 9.
message = "<span class='nicegreen'>This door is really simple to you. It should be very easy to lockpick it.</span>"
. += "[message]"
if(isliving(user) && last_investigation <= world.time)
last_investigation = world.time+30 SECONDS
var/investigation_check = secret_vampireroll(get_a_intelligence(user)+get_a_investigation(user), 6, user)
if(investigation_check >= 3)
var/keys_that_can_open = ""
for(var/i in subtypesof(/obj/item/vamp/keys))
var/obj/item/vamp/keys/K = i
if(lock_id in initial(K.accesslocks))
if(keys_that_can_open == "")
keys_that_can_open += initial(K.name)
else
keys_that_can_open += ", [initial(K.name)]"
to_chat(user, "You can open that door with: [keys_that_can_open]")

/obj/structure/vampdoor/attack_hand(mob/user)
. = ..()
Expand Down

0 comments on commit 5a16c89

Please sign in to comment.