Language: 
To browser these website, it's necessary to store cookies on your computer.
The cookies contain no personal information, they are required for program control.
  the storage of cookies while browsing this website, on Login and Register.

Author Topic:  The scroll turns to dusk.  (Read 231 times)

0 Members and 0 Guests are viewing this topic.

Dolfo

« on: 24, September 2023, 07:43:50 »
This is (was) nice "feature". Burning your scrolls only to see:
"Your target is out of range."
"You need a deity."
...

Could be easy changed to be a little more intelligent.

apply.c line 1192 ("final" logic now)
Code: [Select]
if (cast_spell(op, tmp, op->facing ? op->facing : 4, scroll_spell, 0, spellScroll, NULL))
{
 ndi(NDI_WHITE, 0, op, "The scroll of %s turns to dust.", spells[tmp->stats.sp].name);
 tmp=decrease_ob_nr(tmp, 1);
 // THING_IDENTIFY is a worse return scenario, we can't use it, to find out, if we need identify, so we need our checks outside
 // we also produce one extra !QUERY_FLAG(tmp, FLAG_UNIDENTIFIABLE) when using this macro
 // but at least macro is only called when we really need it.
 if (tmp && !QUERY_FLAG(tmp, FLAG_IDENTIFIED) && !QUERY_FLAG(tmp, FLAG_UNIDENTIFIABLE))
 {
  THING_IDENTIFY(tmp);
  OBJECT_UPDATE_UPD(tmp, UPD_FLAGS);
 }
}

Improving this logic leads to next questions. How we handle the auto identify, when using scrolls. Sometimes we can find 3 unidentied scrolls in one loot?

Should auto id only trigger when we have a successfully cast? Or always trigger when we apply? Currently it's very easy for players to id scrolls, which need a target, by only target a distance npc. For sure this is risky for players, if they invoke attack spells. But for this they can go to mage protected zones.

How we handle remove curse scrolls, when we have npc or other players in target? With new range check a level 110 scroll have a range of 8. So players could easy turn their scrolls to dust, when players don't watch their selected target.

Should remove curse scroll only burn, when it removed something? This is more player friendly, but also perhaps to intelligent, if scroll is talking to you: "There is no curse i can remove or unapply!"?
« Last Edit: 25, September 2023, 20:51:09 by Dolfo »
Don't believe the shit, you hear in mainstream. Believe your own body. Your body is speaking always the true to you. But you need to understand your body. Hear to your body, not to your ego. And when body is calling to you: "Hey something is wrong!" find the reason(s) for that. Man in White don't go for that, they don't want to heal you. They want earn money and sell you medicine, you should take rest of your life. You are not the patient, you are their customer. Never forget this!

Shroud

« Reply #1 on: 24, September 2023, 19:52:35 »
I have to admit the most frustrating instance of the behaviour is when you accidentally apply an offensive spell scroll in your apt or a city that prevents offensive spells.

I've not tested scrolls extensively due to their perishable nature but I believe quite a few of them default to target self.

Having said that the turn to dust mechanic isn't that bad as opposing mechanic is wands where often I wish a wand would turn to dust when it ran out of charges as current mechanics mean you always try to use a wand at least once when it's run out of charges (rather than switch wands) and then I proceed to dump it on the ground cause it's useless.
Doesn't matter, you'd die anyway. ;D Shroud's a hacker. After many hours of deep thought I have came to that conclusion.

Dolfo

« Reply #2 on: 24, September 2023, 20:43:37 »
Yes that's also funny, but this cannot more happen with the above check. We can only waste our spells, when they are in other ways useless. Like uncurse without cursed items, or cure poison when not poisened or heal when full hp. One bad "to dust" is still if you want uncurse your inventory items and have mistakely a npc in your target.

That was why i asked. Should we also code against this? Could be easy to send a success from spell back to outside function.

We can also go in wands and build in a mechanic, when they are empty. I also hate to run arround with 30 wands when training md and then find the 0 charge wands later between all the others. Another easy idea could be a simple message on your last shot.

"This wand is empty now." We can also build in a sound on last shot.  ???
« Last Edit: 24, September 2023, 20:47:21 by Dolfo »
Don't believe the shit, you hear in mainstream. Believe your own body. Your body is speaking always the true to you. But you need to understand your body. Hear to your body, not to your ego. And when body is calling to you: "Hey something is wrong!" find the reason(s) for that. Man in White don't go for that, they don't want to heal you. They want earn money and sell you medicine, you should take rest of your life. You are not the patient, you are their customer. Never forget this!

Shroud

« Reply #3 on: 24, September 2023, 23:11:01 »
This is my personal viewpoint but with scrolls I think there's probably two different cases that need to be treated differently
1. Spell fails to trigger (e.g. target out of range) - Here I think scroll destruction is bad logic since spell is never cast
2. Spell not needed - Here I think it's OK to destroy the scroll since the player cast the spell but it wasn't needed. Taken to the extreme you could argue that if you cast a firebolt and the mob dodged then scroll isn't consumed.

For wands a message after the last use is a good idea. Another handy (although probably longer) idea is for wands with 0 charges to have a different image like torch/burnt torch. Having said that it's a non-essential update and I imagine time coding far outstrips the 1min spent checking inventory and hunting down the 0 charge wands.
Doesn't matter, you'd die anyway. ;D Shroud's a hacker. After many hours of deep thought I have came to that conclusion.

Dolfo

« Reply #4 on: 25, September 2023, 09:15:26 »
To the scrolls. I thought the same at night before sleeping.

To the wands. We have also the magic flag. Could be an idea to say an empty wand has lost its magic now. So we can clean this flag on last shot. Then we can easy see empty wands in our inventory. We can also change the wand to a wand of nothing. Could be interesting to have this wand of nothing also later for crafting ideas.

Changing grafic is also possible. Our current wands are animated(glowing). We could say an empty wand has no more this glowing. Wow never noticed, that this feature is build in. So our empty wands don't blink.
« Last Edit: 25, September 2023, 09:20:15 by Dolfo »
Don't believe the shit, you hear in mainstream. Believe your own body. Your body is speaking always the true to you. But you need to understand your body. Hear to your body, not to your ego. And when body is calling to you: "Hey something is wrong!" find the reason(s) for that. Man in White don't go for that, they don't want to heal you. They want earn money and sell you medicine, you should take rest of your life. You are not the patient, you are their customer. Never forget this!

Dolfo

« Reply #5 on: 25, September 2023, 20:57:16 »
Ok i made it now like we discussed. When scroll is technically not castable we don't burn. When scroll is technically castable, but spell is not needed, we burn the scroll.

I also reworked the auto identify behavior. We auto id in same logic as above and when it makes sense and needed. There is no need to id identified scrolls or burned to zero scrolls. The auto id makes also sense, because when we invoke the spell, we get messages like you cast the spell X. At that moment a scroll is revealed for sure.
Don't believe the shit, you hear in mainstream. Believe your own body. Your body is speaking always the true to you. But you need to understand your body. Hear to your body, not to your ego. And when body is calling to you: "Hey something is wrong!" find the reason(s) for that. Man in White don't go for that, they don't want to heal you. They want earn money and sell you medicine, you should take rest of your life. You are not the patient, you are their customer. Never forget this!

Dolfo

« Reply #6 on: 26, September 2023, 16:55:30 »
I remove "is magical" on last shot of wands and also give a text message: "The wand stops glowing."



First is empty wand non magical and no more animated, second is wand with charges magical and animated (we don't see here). We could also change the grafic, or play an extra sound or make a text like the level up big on screen or auto unapply the wand or auto drop it on ground?  :P

But i think the no animated empty wand is easy to differentiate from an animated full wand also on ground floor and when we come to inventory we have additional the vanished M for empty wands.

Dunno if the message "The wand stops glowing." helps in combat? We can also do a kind of countdown ("You have 3 more shots, till "take off"."

I can do more if we need.
But auto drop on ground i don't like.
An extra sound behind the spell sound could be to much?
Something big on your screen like you are now level x, i think this is also to much.  ;D

Perhaps auto unapply could be an idea?  ??? Hm, or not?

So last could be we change also the grafic? Perhaps like the wand, but without the small yellow tip. But this is "some" work to make the png and build the arc/anim file for this extra look.

I personaly prefer to keep it this way.  ;) Perhaps the countdown for combat log? So you are better prepared for the empty wand situation?

Code: [Select]
ndi(NDI_UNIQUE, 0, op, "fire wand");
if (cast_spell(op, weap, dir, weap->stats.sp, 0, spellWand, NULL))
{
 // auto id the wand
 if (!QUERY_FLAG(weap, FLAG_IDENTIFIED) && !QUERY_FLAG(weap, FLAG_UNIDENTIFIABLE))
 {
  THING_IDENTIFY(weap);
   OBJECT_UPDATE_UPD(weap, UPD_FLAGS);
 }

 SET_FLAG(op, FLAG_BEEN_APPLIED); /* You now know something about it */ // ?
 if (!(--weap->stats.food)) // last shot
 {
  ndi(NDI_UNIQUE, 0, op, "The wand stops glowing.");
  CLEAR_FLAG(weap, FLAG_IS_MAGICAL);
  CLEAR_FLAG(weap, FLAG_ANIMATE);
  if (weap->arch)
  {
   weap->face = weap->arch->clone.face;
  }
  OBJECT_UPDATE_UPD(weap, UPD_ANIM);
  weap->speed = 0.0f;
  update_ob_speed(weap);
 }
}
« Last Edit: 26, September 2023, 17:06:31 by Dolfo »
Don't believe the shit, you hear in mainstream. Believe your own body. Your body is speaking always the true to you. But you need to understand your body. Hear to your body, not to your ego. And when body is calling to you: "Hey something is wrong!" find the reason(s) for that. Man in White don't go for that, they don't want to heal you. They want earn money and sell you medicine, you should take rest of your life. You are not the patient, you are their customer. Never forget this!

Shroud

« Reply #7 on: 26, September 2023, 18:32:46 »
I think removing the magical flag is enough and should be quite and easy to identify
Doesn't matter, you'd die anyway. ;D Shroud's a hacker. After many hours of deep thought I have came to that conclusion.

Dolfo

« Reply #8 on: 19, October 2023, 09:49:34 »
I made an error in my thoughts. Our devices are non magical. I think we only use magical für +x items increasing ac, wc? So this removing of the magic flag don't work without changing our definitions, what "is magic" means. I removed this.

Also the auto id option i tried in here is to strong. A player  level 1 could id a level 110 wand with one shot. I removed this too. So we can shoot unidentified wands or devices, if our player level match and see the spell in action and damage, but don't reveal stats, except the curses. For a clean item description and to sell it to shop, we need to id item first.

I let the "The wand stops glowing." message in and the stopping animation of the wand is enough help to identify empty wands in player directory, on floor directory and also on map.

For sure we could still try to change the grafic when wand is empty, but this also need a player watching the tab slot, if grafic changed there. So if we want give a better noticable hint to player, i only see exaggerated visual effects or perhaps try a sound. But then we have 2 sounds at the last shot.

I think a much much better idea could be to increase the charges of wands, to reduce micromanagment, when players train with wands.  ::)
Don't believe the shit, you hear in mainstream. Believe your own body. Your body is speaking always the true to you. But you need to understand your body. Hear to your body, not to your ego. And when body is calling to you: "Hey something is wrong!" find the reason(s) for that. Man in White don't go for that, they don't want to heal you. They want earn money and sell you medicine, you should take rest of your life. You are not the patient, you are their customer. Never forget this!

Tags:
 

Related Topics

  Subject / Started by Replies Last post
4 Replies
1203 Views
Last post 16, May 2007, 15:09:18
by spyke
0 Replies
693 Views
Last post 28, April 2008, 12:45:31
by grommit
3 Replies
4363 Views
Last post 02, July 2013, 14:55:57
by smacky
16 Replies
415 Views
Last post 11, February 2022, 19:17:09
by _people_
1 Replies
89 Views
Last post 30, January 2022, 23:37:39
by _people_