mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
Fixes Issue 502
- Absorbing someone with the same real_name as a prior victim now properly adds to your genome count for end-round report - Done via new changeling datum var (ugh) called absorbcount that is just a number that increases on any successful absorb (also increases properly in the event of absorbing another changeling,) couldn't see a better way about this without overhauling the entire changeling datum layout, objective checks, etc. Removed direct narrate (not global) rank check, since everyone gets subtlemessage and the like it didn't make sense to restrict this Readded timestamps on fingerprints_hidden which I guess were removed during a revert? git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3968 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -114,7 +114,7 @@
|
||||
//Now, deal with gloves.
|
||||
if (H.gloves && H.gloves != src)
|
||||
if(fingerprintslast != H.key)
|
||||
fingerprintshidden += text("(Wearing gloves). Real name: [], Key: []",H.real_name, H.key)
|
||||
fingerprintshidden += text("\[[]\](Wearing gloves). Real name: [], Key: []",time_stamp(), H.real_name, H.key)
|
||||
fingerprintslast = H.key
|
||||
H.gloves.add_fingerprint(M)
|
||||
//Deal with gloves the pass finger/palm prints.
|
||||
@@ -125,7 +125,7 @@
|
||||
return 0
|
||||
//More adminstuffz
|
||||
if(fingerprintslast != H.key)
|
||||
fingerprintshidden += text("Real name: [], Key: []",H.real_name, H.key)
|
||||
fingerprintshidden += text("\[[]\]Real name: [], Key: []",time_stamp(), H.real_name, H.key)
|
||||
fingerprintslast = H.key
|
||||
//Make the list if it does not exist.
|
||||
if(!fingerprints)
|
||||
@@ -158,7 +158,7 @@
|
||||
else
|
||||
fingerprints[P] = test_print
|
||||
if(fingerprintslast != M.key)
|
||||
fingerprintshidden += text("Real name: [], Key: []",M.real_name, M.key)
|
||||
fingerprintshidden += text("\[[]\]Real name: [], Key: []",time_stamp(), M.real_name, M.key)
|
||||
fingerprintslast = M.key
|
||||
//Cleaning up shit.
|
||||
if(fingerprints && !fingerprints.len)
|
||||
|
||||
@@ -159,13 +159,11 @@
|
||||
for(var/datum/mind/changeling in changelings)
|
||||
var/changelingwin = 1
|
||||
var/changeling_name
|
||||
var/totalabsorbed = 0
|
||||
if((changeling.current) && (changeling.current.changeling))
|
||||
totalabsorbed = ((changeling.current.changeling.absorbed_dna.len) - 1)
|
||||
changeling_name = "[changeling.current.real_name] (played by [changeling.key])"
|
||||
world << "<B>The changeling was [changeling_name].</B>"
|
||||
world << "<b>[changeling.current.gender=="male"?"His":"Her"] changeling ID was [changeling.current.gender=="male"?"Mr.":"Mrs."] [changeling.current.changeling.changelingID]."
|
||||
world << "<B>Genomes absorbed: [totalabsorbed]</B>"
|
||||
world << "<B>Genomes absorbed: [changeling.current.changeling.absorbedcount]</B>"
|
||||
|
||||
var/count = 1
|
||||
for(var/datum/objective/objective in changeling.objectives)
|
||||
@@ -204,6 +202,7 @@
|
||||
var/isabsorbing = 0
|
||||
var/geneticpoints = 5
|
||||
var/purchasedpowers = list()
|
||||
var/absorbedcount = 0
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -156,6 +156,7 @@
|
||||
if(T.changeling)
|
||||
if(T.changeling.absorbed_dna)
|
||||
usr.changeling.absorbed_dna |= T.changeling.absorbed_dna //steal all their loot
|
||||
usr.changeling.absorbedcount += T.changeling.absorbedcount
|
||||
|
||||
T.changeling.absorbed_dna = list()
|
||||
T.changeling.absorbed_dna[T.real_name] = T.dna
|
||||
@@ -179,9 +180,11 @@
|
||||
|
||||
|
||||
|
||||
|
||||
usr.changeling.chem_charges += T.changeling.chem_charges
|
||||
usr.changeling.geneticpoints += T.changeling.geneticpoints
|
||||
T.changeling.chem_charges = 0
|
||||
usr.changeling.absorbedcount++
|
||||
usr.changeling.isabsorbing = 0
|
||||
|
||||
T.death(0)
|
||||
|
||||
@@ -484,7 +484,7 @@ datum/objective/absorb
|
||||
return target_amount
|
||||
|
||||
check_completion()
|
||||
if(owner && owner.current && owner.current.changeling && owner.current.changeling.absorbed_dna && ((owner.current.changeling.absorbed_dna.len - 1) >= target_amount))
|
||||
if(owner && owner.current && owner.current.changeling && owner.current.changeling.absorbed_dna && ((owner.current.changeling.absorbedcount) >= target_amount))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
@@ -1313,12 +1313,8 @@ var/global/BSACooldown = 0
|
||||
return
|
||||
|
||||
if (href_list["narrateto"])
|
||||
if(rank in list("Game Admin", "Game Master"))
|
||||
var/mob/M = locate(href_list["narrateto"])
|
||||
usr.client.cmd_admin_direct_narrate(M)
|
||||
else
|
||||
alert("You cannot perform this action. You must be of a higher administrative rank!")
|
||||
return
|
||||
var/mob/M = locate(href_list["narrateto"])
|
||||
usr.client.cmd_admin_direct_narrate(M)
|
||||
|
||||
if (href_list["subtlemessage"])
|
||||
var/mob/M = locate(href_list["subtlemessage"])
|
||||
|
||||
Reference in New Issue
Block a user