Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Resist. Elemental
Author Message
victorstelzer
Journeyman
*

Posts: 80
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jun 2012
Reputation: 0



Post: #1
Resist. Elemental
As image, Cold resistant, Resist Poison, Fire, the item has

Character status does not appear anything is 0


Attached File(s) Thumbnail(s)
   
07-04-2012 11:30 AM
Find all posts by this user Like Post Quote this message in a reply
Gil Amarth
Journeyman
*

Posts: 189
Likes Given: 2
Likes Received: 1 in 1 posts
Joined: May 2012
Reputation: 0



Post: #2
RE: Resist. Elemental
You have to put those variables from your item to your character: RESCOLD, RESENERGY, RESFIRE, RESPOISON.

The best way is with two triggers at [TYPEDEF t_armor]

ON=@EQUIP

IF (blablabla)
SRC.RESCOLD += blablabla
ENDIF


ON=@UNEQUIP
IF (blablabla)
SRC.RESCOLD -= blablabla
ENDIF
(This post was last modified: 07-05-2012 05:51 AM by Gil Amarth.)
07-04-2012 08:07 PM
Find all posts by this user Like Post Quote this message in a reply
Anarch Cassius
Master
**

Posts: 273
Likes Given: 19
Likes Received: 10 in 9 posts
Joined: Mar 2012
Reputation: 2



Post: #3
RE: Resist. Elemental
Okay but what if we aren't using the default systems?

Is there a way to just feed info like Armor, Gold, Elemental Resistance to the client?

If we used a packet, would Sphere try and overwrite that in a couple ticks?
07-05-2012 04:54 AM
Find all posts by this user Like Post Quote this message in a reply
Edel[EdC]
Apprentice
*

Posts: 11
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Apr 2012
Reputation: 0



Post: #4
RE: Resist. Elemental
You can use modar for physical resist and resfire / resenergy / respoison / rescold for the four others.
I use the respoison to inform player how much Toxicity they have in their body.
07-05-2012 05:30 AM
Find all posts by this user Like Post Quote this message in a reply
Anarch Cassius
Master
**

Posts: 273
Likes Given: 19
Likes Received: 10 in 9 posts
Joined: Mar 2012
Reputation: 2



Post: #5
RE: Resist. Elemental
Hmm, let me spell it out.

I use a hybrid system because I didn't like the existing ones.

Summary:
Hit locations work like old style. You get hit in the head, full head AR applies. You get hit on an unarmored spot, no armor applies. Full body effects take the total average.

There are all 5 damage types and they are scaled by item health. So a half durability leather tunic provides less fire res than a fully repaired one.

It's possible to have inherent resistance, natural armor style. This covers the whole body equally and can't be damaged. These use the resfire tags directly on the creature.

So I just want to take the function I have that gets the elemental resists of all your worn equipment, adjusts for the likelihood of each location and durability of each piece and have the client display that.

So I'm wondering if I can just tell Sphere to stop updating these values and let me do it via packet... or if I have to move my values to other tags and use RESFIRE, etc. purely for visual effect.
07-05-2012 06:04 AM
Find all posts by this user Like Post Quote this message in a reply
Edel[EdC]
Apprentice
*

Posts: 11
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Apr 2012
Reputation: 0



Post: #6
RE: Resist. Elemental
Ok, if I understand correctly, the Elemental resist works like the AR system. If I have a 20 fire resist on my tunic, the fire resistance will only work if hit on the chest. If my tunic is half worn, only 50% of the fire resist will be taken into account.

So I imagine you would have to do something like that for all your wearable items with resists :

Code:
On=@equip
tag0.HowMuchResfireDidIgive=<f_formula_how_much_res_with_worn_item> //We keep track at how much resfire the item give to the player.
src.resfire +=<eval (<tag.HowMuchResfireDidIgive>)>  //We give the player the resfire.

On=@Damage
cont.resfire -=<eval (<tag.HowMuchResfireDidIgive>)> //We take back the resfire we give to the player
tag0.HowMuchResfireDidIgive=<f_formula_how_much_res_with_worn_item> //We calculate how much the item will give now that it has been damaged.
src.resfire +=<eval (<tag.HowMuchResfireDidIgive>)>

[function f_formula_how_much_res_with_worn_item]
return <muldiv <resfire>,<more1H>,<more1L>>

But I could be wrong...
07-05-2012 06:36 AM
Find all posts by this user Like Post Quote this message in a reply
Anarch Cassius
Master
**

Posts: 273
Likes Given: 19
Likes Received: 10 in 9 posts
Joined: Mar 2012
Reputation: 2



Post: #7
RE: Resist. Elemental
Your description of the system is correct. However you are underestimating what I did. My damage types themselves work more like old school AR than % resists. I have the entire combat system re-written using an SCP off-shoot I made. The system itself has a function to get how much res an item actually provides given it's durability and location. I never change the player's resfire based on the item's.

What it looks like I need to do is move that player res to a new tag and use resfire only to display info to the player.

I was hoping I could simply tell Sphere to ignore the default system and let me handle this with my own packets.

Still don't know how can I fake out gold. I rewrote the currency system too and my money isn't read by Sphere as such. Smile
07-05-2012 06:52 AM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)