Main Menu

New efforts!

Started by Ironwolf, March 06, 2014, 03:01:32 PM

Teikiatsu

Quote from: Vee on June 22, 2015, 05:24:32 PM
You missed the 'prior to ed' part of Arcana's claim.

So I did.  Apologies.
Virtue Server - Main: Midnight Lightning Dark/Elec/Psi Defender

https://www.youtube.com/watch?v=LfKUPgy_xH8
https://www.youtube.com/watch?v=-EitO6Wq_9A

Baja

After being in this thread for so long I've come to two major conclusions. One, I want CoH back more than ever and two, when it comes back I'm going to beg Arcana to help me build something ridiculously OP.

Arcana

Quote from: Eskreema on June 23, 2015, 12:54:49 AM
So basically each power would get the "Steel Canyon building-on-fire explosion"  proc to hit a target with exponentially generated damage as a function of target base health with kill-monster as a back-up if it attacks.  nice.  I'd like to do that with a proc that would have granted a chance for pulling totally random stuff out of the ground with super strength - Aaaaaand BAM!! (Hits with Lusca or stone mallet from SM becomes Jurassic's car club or w/e)

Using coding jargon, How did those powers calculate damage?  I remember you used some specific descriptor to assign the function because kill monster's damage string started with "j" or something in order to trigger it

Attacks in City of Heroes were just data in data structures that the game engine interpreted.  Every "power" had a list of one or more effects, technically called "attribmods."  Attribmod, because they were designed to MODify the ATTRIButes of a target of the power.  Each attribmod had a set of values that defined what it did.  Lets take the example of a simple power like (Archery) snapshot.  If we eliminate the defiance buff and PvP damage, then snapshot just does one thing: it deals scale 0.84 lethal damage.  It has an attribmod that says exactly that.  In City of Heroes terms, that attribmod says "Attribute: Lethal, Aspect: Abs, Scale: 0.84, Target: target, Table: Ranged_Damage" (I'm radically oversimplifying here of course).

What that means is this: when this power is activated, we should find the Ranged_Damage table of the caster, and look up the value of that table for the level the caster is.  For a level 50 blaster, that value is 62.5615.  Then we multiply by the scale value of the attack, which is 0.84, to get (about) 52.55.  That's the damage you see in City of Data listings by the way.  Then the game engine notes that it should interpret that value as an "Abs" which basically means "as a regular number."  The game engine notes the target of the effect, which is the target of the power (it could have been "self" for powers that affect self).  It notes the attribute being affected is "Lethal" and it then modifies the target's Lethal attribute by 62.5615.

Actually, I lied above.  The Ranged_Damage table entry for a level 50 Blaster isn't 62.5615, its actually -62.5615.  The negative sign is what makes this damage, and not a heal.  So given these numbers, the game engine automatically uses them to calculate the effect and then apply it to the target.  Note that the game engine doesn't actually know the difference between a heal and damage: negative numbers are damage because they reduce the health of the target, heals are positive and increase the health of the target.

The Steel Canyon buildings are coded to do three ticks of Scale 1.0 Fire damage using the Melee_Damage table, but unlike our example above instead of Aspect: Abs these ticks are defined as Aspect: Cur.  Cur basically means "treat the scale value as a percentage of the maximum value of the attribute of the target."  In other words, if we deal -0.5 Cur to a target, we're hitting that target for half their total health in damage.  The interesting thing is that there's no special code here.  The game engine does exactly the same thing as in my Snapshot example.  It sees the target is "target of power" it sees the Scale value is 1.0, and the table is Melee_Damage, it looks up the Melee_Damage table for the building (which is a level 50 minion, or something with similar numbers) and finds the Melee_Damage value is (about) -120, it multiplies that by the scale value (which here is 1.0), then proceeds to hit the target with Fire damage.  But because the damage is a Cur and not an Abs, instead of just adding -120 to the target's health (subtracting 120), it instead hits the target for 100% of its health times 120.  And it does that three times, one for each attribmod in the explosion power.

Note that the game engine processes every attack in exactly the same way: find the attribmods for the attack, and for each attribmod look up the target, find the scale value, multiply by the table entry for the caster of the attack, apply the result to the target of the attribmod using a calculation based on the Aspect setting.  Rinse, repeat.  In fact, the game engine doesn't even know the difference between a heal, a damage effect, and a buff.  A buff is just when you increase something other than damage, like your smashing damage strength or your hold protection (technically, buffs have a duration and can expire, but that's just more details).  A debuff is a buff where the effect has a negative value: the game didn't know the difference between a buff and a debuff either.  To the game engine, every power was trying to modify a number, and the game engine modified those numbers.  The only difference between powers was which numbers a power modified, which entity got modified, and in what specific way (another oversimplification: powers could do other things besides that but that's not important to this discussion).

That's what people like me and Codewalker mean when we say the powers were data, not code.  The game engine is programmed to do the same thing over and over again: to the game engine, every power effect is treated the same.  Its the data in the power's definition that determines what the game engine does for that power.  But the algorithm is always the same, minus some If..then..else depending on settings.  Damage, resistance buff, defense debuff, endurance drain - all these effects are the same thing, just affecting different attributes and different aspects.

Two exceptions to this rule.  Some powers had special "clauses" in them that used a postfix-like language to compute things on the fly.  A more complicated subject for another discussion.  And the devs had just added a LUA engine to the game in I23 they could hypothetically have extended the powers engine to use in certain cases.  Also a discussion for another time.

Short answer: there was no programming code that calculated the damage of a particular power.  It was, in effect, one giant algorithmic formula that every power followed.  Scale * Table * CombatModifier * (1 - TargetResistance*Unresistable) * CasterStrength, applied to Target->Attribute->Aspect.  Kinda: the game engine had a lot more variables, but you get the idea.

Tubbius

Page 909.

Wow.

I can't wait for page 1 of a thread that says something like, "It's on like Donkey Kong."

That is all.

brothermutant

Quote from: Baja on June 23, 2015, 03:51:42 AM
After being in this thread for so long I've come to two major conclusions. One, I want CoH back more than ever and two, when it comes back I'm going to beg Arcana to help me build something ridiculously OP.
Agreed. Hey is anyone but me working on a UBER build for each character class? I want a monster soloing toon for each (or as least as close to soloing as I can get). Been working that MIDS overtime.

Sinistar

Quote from: brothermutant on June 23, 2015, 07:00:46 AM
Agreed. Hey is anyone but me working on a UBER build for each character class? I want a monster soloing toon for each (or as least as close to soloing as I can get). Been working that MIDS overtime.

I had such characters until the game went dark.  Still have the Mids files and still hoping to use them again. :)
In fearful COH-less days
In Raging COH-less nights
With Strong Hearts Full, we shall UNITE!
When all seems lost in the effort to bring CoH back to life,
Look to Cyberspace, where HOPE burns bright!

Vee

I've made way more mids toons than i could ever possibly play and haven't even touched blasters.

umber

Quote from: Tubbius on June 23, 2015, 06:12:56 AM
Page 909.

Wow.

I can't wait for page 1 of a thread that says something like, "It's on like Donkey Kong."

I am going to so incredibly disappointed with this crowd if the official relaunch thread isn't populated by little-to-nothing but "Its on like Donkey Kong" posts.

Do not disappoint me, CoHers. 

Auroxis

Works for me, not like I'd have time to write lengthy posts if I get the game back.

pinballdave

Quote from: Auroxis on June 23, 2015, 12:03:26 PM
Works for me, not like I'd have time to write lengthy posts if I get the game back.

Right no long posts, so :

It's on lk DK!!

nicoliy

Quote from: brothermutant on June 23, 2015, 07:00:46 AM
Agreed. Hey is anyone but me working on a UBER build for each character class? I want a monster soloing toon for each (or as least as close to soloing as I can get). Been working that MIDS overtime.

I sat down to do this the other day, thinking I'd make one of each class, but the Mids I have is for I24. From what I recall the negotiations would be for I23, which has some differences in IO's right (my memory could be hazy here).

I'd hate to make a build and not be able to use it as a result. Anyone have a I23 version of Mids, or know where to get it?

umber

Quote from: nicoliy on June 23, 2015, 01:15:03 PM
I sat down to do this the other day, thinking I'd make one of each class, but the Mids I have is for I24. From what I recall the negotiations would be for I23, which has some differences in IO's right (my memory could be hazy here).

If the deal actually goes through and NCSoft is able to hand over an i23 image, I can't help but imagine it would be about a picosecond before a former CoH dev popped up with a copy of i24.  *Someone* at Paragon brought their work home with them, surely?  What programmer doesn't?

Would their be any legal issue with the new owners of the IP going "hey look, someone found the i24 code in their sofa cushions"?

Maybe I'm way out on a branch here but I've been operating under the assumption that whatever NCSoft hands over, what was actually on the Test server will find its way to the new owners.

Blackgrue

I never really cared about being super-mega-OP, I was much more about the RP... Then again if i can get my Elec/Elec dominator to be a permadom that'd be awesome.
Virtue native

Main characters:
Diz the Goblin
Projekt Redstorm

Codewalker

Quote from: umber on June 23, 2015, 01:35:27 PM
Would their be any legal issue with the new owners of the IP going "hey look, someone found the i24 code in their sofa cushions"?

Possibly, it really depends on how a hypothetical purchase contract is written.

Twi

I was into both. The more I made combat a trivial exercise, the more everyone could banter back and forth in mission, win/win.
I am a defender and so can you.

Tubbius

Quote from: umber on June 23, 2015, 11:46:32 AM
I am going to so incredibly disappointed with this crowd if the official relaunch thread isn't populated by little-to-nothing but "Its on like Donkey Kong" posts.

Do not disappoint me, CoHers.

That's the spirit!  :)

GamingGlen

Quote from: Tubbius on June 23, 2015, 06:12:56 AM
Page 909.

Wow.

I can't wait for page 1 of a thread that says something like, "It's on like Donkey Kong."

That is all.

But I don't like Donkey Kong.

nicoliy


Arcana

Quote from: umber on June 23, 2015, 01:35:27 PM
If the deal actually goes through and NCSoft is able to hand over an i23 image, I can't help but imagine it would be about a picosecond before a former CoH dev popped up with a copy of i24.

Unless they had legal cover from the licensing agreement, and that's not likely, its more likely a copy of I24 might suddenly appear on someone's doorstep.  License or not, any dev that took property from NCSoft prior to the shutdown would still be in violation of several employment agreements, and contrary to what some have said on these forums those contracts have legal force indefinitely unless stated otherwise.  There's also no statute of limitation limit here, because the clock starts when the theft has been or should have been reasonably discovered.  So that's not the day of the shutdown, but rather the day someone releases it to the public.

In fact, its even more likely that rather than a copy of I24 showing up one day, a magical patch to I23 that happens to contain all of the I24 content might appear one day.  That would be far more untraceable, and would therefore protect whoever happened to have that content.

Joshex

Arcana, Codewalker or someone in-the-know please tell me:

When a power had multiple damage types EX: (Smashing/Lethal) or (Smashing/Fire) ETC., During battle did each damage type calculate hit% separately?

for example could someone with Smashing/Fire hit only with the fire part of the attack if the target had high Smashing def?

or is it calculated based on the primary damage type? EX: either all hits or none hits

Also: same question with DoT, same question AoE, Same question with holds/effects.

and for chain; was hit recalculated on each successive target? was it based off the original attack stats or adjusted attack stats? (Adjusted means overflow like: attack has 300% accuracy and tohit from player, it hits with 200% accuracy on first target (-100% def) then subtract the next target's defense and recalculate hit chance, then again, then again, then 0% or -#% = End Chain.)

Again I ask here cause I know people frequent this thread who can answer it.

Also thanks.
There is always another way. But it might not work exactly like you may desire.

A wise old rabbit once told me "Never give-up!, Trust your instincts!" granted the advice at the time led me on a tripped-out voyage out of an asteroid belt, but hey it was more impressive than a bunch of rocks and space monkies.