Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CF: poison is harmless to monsters and high level players



I feel poison makes no sense to most of monsters,
and high level characters.
When high level characters suffer from poison, hp will be hardly
decreaced.
On the other hand, low level character will be the point of dying from
poison damages.
For low level character, poison is harmful.
For high level character, poison is relatively harmless.

I have expected this is the issue of game balance.
But unexpectedly I found a bug and curious specification of poison.

1. According to source code(server/attack.c), 
   when a monsters or a player suffers from poison, 
   poison damage should be (his level)/2+1
   But poison damage is set to 1 in v.0.94.0.
   This is a bug and the following is the patch for it.

*** server/attack.c.org	Mon Feb 23 16:27:50 1998
--- server/attack.c	Tue Mar 10 20:55:44 1998
***************
*** 1421,1428 ****
  		poisoning goes as the level of the monster/2.
  		If anything else, goes as damage. */
  
! 	if(QUERY_FLAG(hitter,FLAG_ALIVE))
! 	   tmp->stats.dam += hitter->level/2;
  	 else
  	   tmp->stats.dam = dam;
  
--- 1421,1428 ----
  		poisoning goes as the level of the monster/2.
  		If anything else, goes as damage. */
  
! 	if(QUERY_FLAG(op,FLAG_ALIVE))
! 	   tmp->stats.dam += op->level/2;
  	 else
  	   tmp->stats.dam = dam;
  

2. If players(and monsters) wear armour, shield ,...,
   poison damage will be lightened.
   The cause is that internal poison attacks players by physical attack.
   I feel poison is not related with players armour. 
   I made a simple patch to change attacktype of poison.

*** server/time.c.org	Mon Feb 23 16:27:51 1998
--- server/time.c	Tue Mar 10 20:52:44 1998
***************
*** 194,200 ****
    }
    (void)hit_player(op->env,
                     op->stats.dam,
!                    op,AT_PHYSICAL);
  }
  
  
--- 194,200 ----
    }
    (void)hit_player(op->env,
                     op->stats.dam,
!                    op,AT_GODPOWER);
  }
  

   But this is not a good solution.
   I should change physical attack to poison attack and modify
   hit_player(). 

--------------------------------------------------------------------------
Seikoh Nishita		      |	Dep't. of Information & Computer Sciences
			      |	Faculty of Engineering Science
[e-mail]		      |	Osaka University
s-nisita@ics.es.osaka-u.ac.jp |	Toyonaka, Osaka 560, Japan
[to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]


Follow-Ups: