Navigation

    NodeBB

    • Register
    • Login
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. pollution
    3. Posts
    P
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Posts made by pollution

    • RE: Website
      Echoes of Whisp continue to haunt us.
      posted in Design & Advanced System Discussion
      P
      pollution
    • RE: Immortal Roundup
      posted in Immortals Forum
      P
      pollution
    • RE: Transmogrify
      I'm not sure how my words could be taken to mean **I LOVE MINDLESS HACK AND SLASH, BLAARRRGG!!!**. Hooray hyperbole.
      posted in Design & Advanced System Discussion
      P
      pollution
    • RE: Upgrade
      > Fatal error: Call to a member function bbcode_second_pass() on a non-object in /home/.doggs/sentience_imm/immsite/viewtopic.php on line 1263 Also noticed on the public board in the thread with the meeting logs: > You do not have the required permissions to view the files attached to this post. Happens whether I'm logged in or not.
      posted in Immortals Forum
      P
      pollution
    • RE: Anyone here?
      The host and port are right at the top of the page usually: sentiencemud.net port 9000.
      posted in Discussion/OOC
      P
      pollution
    • RE: Possible unintended behavior with dual wield
      Yeah, I don't think that should be allowed even though the benefits are negligible.
      posted in Bug Reports
      P
      pollution
    • RE: Meeting Log - 12/28/06
      Here is the summary of the meeting held 12/28/06\. It is in pdf format so you'll need acrobat reader to view the file.
      posted in Announcements Archive
      P
      pollution
    • RE: Knockdown has no effect on combat.
      Keep in mind that changing this will dramatically impact combat all across the game. This shouldn't be taken lightly.
      posted in Bug Reports
      P
      pollution
    • Exit Names
      [b]Reported by:[/b] Me
      [b]Flags:[/b] Immortal Annoyance

      Exits with custom exit names only show the first word of the name when the exit is manipulated. In redit the name is displayed correctly.
      posted in Bug Reports
      P
      pollution
    • Act no_hunt
      We have a no_hunt extra flag for objects, how about an act flag for mobs?
      posted in Requests
      P
      pollution
    • RE: Aggressive mobs do not attack.
      Fixed.
      posted in Bug Reports
      P
      pollution
    • RE: Grouped Mobs
      Fixed.
      posted in Bug Reports
      P
      pollution
    • RE: New Areas: Spirit's Forest (Elite) and Mierkwood Keep
      My only issue with this proposition is that it just bleeds sappy bad fantasy. Lords and ladies? Check. Lost love? Check. Things of beauty and prestige befouled by mysterious black magic? Check. I think we should really strive to avoid cheese and try to create a more believable world than the stuff we're stuck with at this point (see Reza). Maybe the backstory can be tweaked in some fashion to avoid those elements. Or maybe it's just my bias against fantasy in general.
      posted in Design & Advanced System Discussion
      P
      pollution
    • Boost Spells
      Here is the code for the boost spells I (badly) wrote. Critiques welcome.

      A brief summary:
      divine favor = 2x exp
      divine rage = 2x damage
      divine valor = 2x qp
      divine spirit = 2x pneuma
      I personally don't like these names much and I'd rather see them changed before implementation, same goes for the echoes. They are placeholders, nothing more.

      [b]merc.h[/b] [code] #define MAX_SKILL 256 #define AFF2_DIVINE_FAVOR (V) #define AFF2_DIVINE_RAGE (W) #define AFF2_DIVINE_VALOR (X) #define AFF2_DIVINE_SPIRIT (Y) [/code] [b]magic.c[/b] [code] void spell_divine_favor(int sn, int level, CHAR_DATA *ch, void *vo, int target) { CHAR_DATA *victim; AFFECT_DATA af; bool perm = FALSE; if (level > 9000) // Is an obj { level -= 9000; perm = TRUE; } if ((IS_NPC(ch)) || (ch->tot_level < MAX_LEVEL)) { send_to_char("Only IMPs can cast this spell.\n\r",ch); return; } /* character target */ victim = (CHAR_DATA *) vo; if (perm == TRUE && is_affected(victim, sn)) { affect_strip(victim, sn); } else if (IS_AFFECTED2(victim, AFF2_DIVINE_FAVOR)) { if (victim == ch) send_to_char("You are already favored by the gods.\n\r",ch); else act("$N is already favored by the gods.",ch,NULL,victim,TO_CHAR); return; } af.where = TO_AFFECTS; af.type = sn; af.level = level; if (perm) af.duration = -1; else af.duration = level/10; af.location = APPLY_NONE; af.modifier = 0; af.bitvector = 0; af.bitvector2 = AFF2_DIVINE_FAVOR; affect_to_char(victim, &af); send_to_char("You begin to glow with a radiant white aura.\n\r", victim); act("$n glows with a radiant white aura.", victim, NULL, NULL, TO_ROOM); } void spell_divine_rage(int sn, int level, CHAR_DATA *ch, void *vo, int target) { CHAR_DATA *victim; AFFECT_DATA af; bool perm = FALSE; if (level > 9000) // Is an obj { level -= 9000; perm = TRUE; } if ((IS_NPC(ch)) || (ch->tot_level < MAX_LEVEL)) { send_to_char("Only IMPs can cast this spell.\n\r",ch); return; } /* character target */ victim = (CHAR_DATA *) vo; if (perm == TRUE && is_affected(victim, sn)) { affect_strip(victim, sn); } else if (IS_AFFECTED2(victim, AFF2_DIVINE_RAGE)) { if (victim == ch) send_to_char("You are already favored by the gods.\n\r",ch); else act("$N is already favored by the gods.",ch,NULL,victim,TO_CHAR); return; } af.where = TO_AFFECTS; af.type = sn; af.level = level; if (perm) af.duration = -1; else af.duration = level/10; af.location = APPLY_NONE; af.modifier = 0; af.bitvector = 0; af.bitvector2 = AFF2_DIVINE_RAGE; affect_to_char(victim, &af); send_to_char("You begin to glow with a fiery red aura.\n\r", victim); act("$n glows with a fiery red aura.", victim, NULL, NULL, TO_ROOM); } void spell_divine_valor(int sn, int level, CHAR_DATA *ch, void *vo, int target) { CHAR_DATA *victim; AFFECT_DATA af; bool perm = FALSE; if (level > 9000) // Is an obj { level -= 9000; perm = TRUE; } if ((IS_NPC(ch)) || (ch->tot_level < MAX_LEVEL)) { send_to_char("Only IMPs can cast this spell.\n\r",ch); return; } /* character target */ victim = (CHAR_DATA *) vo; if (perm == TRUE && is_affected(victim, sn)) { affect_strip(victim, sn); } else if (IS_AFFECTED2(victim, AFF2_DIVINE_VALOR)) { if (victim == ch) send_to_char("You are already favored by the gods.\n\r",ch); else act("$N is already favored by the gods.",ch,NULL,victim,TO_CHAR); return; } af.where = TO_AFFECTS; af.type = sn; af.level = level; if (perm) af.duration = -1; else af.duration = 2; af.location = APPLY_NONE; af.modifier = 0; af.bitvector = 0; af.bitvector2 = AFF2_DIVINE_VALOR; affect_to_char(victim, &af); send_to_char("You begin to glow with a powerful gold aura.\n\r", victim); act("$n glows with a powerful gold aura.", victim, NULL, NULL, TO_ROOM); } void spell_divine_spirit(int sn, int level, CHAR_DATA *ch, void *vo, int target) { CHAR_DATA *victim; AFFECT_DATA af; bool perm = FALSE; if (level > 9000) // Is an obj { level -= 9000; perm = TRUE; } if ((IS_NPC(ch)) || (ch->tot_level < MAX_LEVEL)) { send_to_char("Only IMPs can cast this spell.\n\r",ch); return; } /* character target */ victim = (CHAR_DATA *) vo; if (perm == TRUE && is_affected(victim, sn)) { affect_strip(victim, sn); } else if (IS_AFFECTED2(victim, AFF2_DIVINE_SPIRIT)) { if (victim == ch) send_to_char("You are already favored by the gods.\n\r",ch); else act("$N is already favored by the gods.",ch,NULL,victim,TO_CHAR); return; } af.where = TO_AFFECTS; af.type = sn; af.level = level; if (perm) af.duration = -1; else af.duration = 2; af.location = APPLY_NONE; af.modifier = 0; af.bitvector = 0; af.bitvector2 = AFF2_DIVINE_SPIRIT; affect_to_char(victim, &af); send_to_char("You begin to glow with a pulsing blue aura.\n\r", victim); act("$n glows with a pulsing blue aura.", victim, NULL, NULL, TO_ROOM); } [/code] [b]magic.h[/b] [code] DECLARE_SPELL_FUN( spell_divine_spirit ); DECLARE_SPELL_FUN( spell_divine_valor ); DECLARE_SPELL_FUN( spell_divine_rage ); DECLARE_SPELL_FUN( spell_divine_favor ); [/code] [b]bit.c (as affect2)[/b] [code] if ( vector & AFF2_DIVINE_FAVOR ) strcat( buf, " divine_favor" ); if ( vector & AFF2_DIVINE_RAGE ) strcat( buf, " divine_rage" ); if ( vector & AFF2_DIVINE_SPIRIT ) strcat( buf, " divine_spirit" ); if ( vector & AFF2_DIVINE_VALOR ) strcat( buf, " divine_valor" ); [/code] [b]const.c[/b] [code] "divine favor", { 31, 31, 31, 31 }, { 10, 10, 10, 10}, spell_divine_favor, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, SLOT(100), 100, 4, "", "The radiant white aura surrounding you fades.", "" }, { "divine rage", { 31, 31, 31, 31 }, { 10, 10, 10, 10}, spell_divine_rage, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, SLOT(101), 100, 4, "", "The fiery red aura surrounding you fades.", "" }, { "divine spirit", { 31, 31, 31, 31 }, { 10, 10, 10, 10}, spell_divine_spirit, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, SLOT(102), 100, 4, "", "The pulsing blue aura surrounding you fades.", "" }, { "divine valor", { 31, 31, 31, 31 }, { 10, 10, 10, 10}, spell_divine_valor, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, SLOT(103), 100, 4, "", "The powerful gold aura surrounding you fades.", "" }, [/code] [b]act_obj2.c (immediately after the check for pneuma boost)[/b] [code] else if ((IS_AFFECTED2(ch, AFF2_DIVINE_SPIRIT)) && (boost_table[BOOST_PNEUMA].boost == 100)) //Boost for divine spirit. { send_to_char("{WThe gods smile upon you and double your pneuma! {x\n\r", ch); ch->pneuma += (i * 2); } [/code] [b]fight.c (immediately after the check for damage boost)[/b] [code] // Damage boost for divine rage. if ((IS_AFFECTED2(ch, AFF2_DIVINE_RAGE)) && (boost_table[BOOST_DAMAGE].boost == 100) && (IS_NPC(victim))) dam = (dam * 2); [/code] [b]fight.c (immediately after the check for exp boost)[/b] [code] if (IS_AFFECTED2(ch, AFF2_DIVINE_FAVOR)) { if (boost_table[BOOST_EXPERIENCE].boost != 100 || boost_table[BOOST_RECKONING].boost != 100) { sprintf(buf, "The favor of the gods cannot boost your experience any higher. \n\r"); send_to_char(buf, gch); } else { sprintf(buf, "{WThe favor of the gods doubles your experience! {x\n\r"); send_to_char(buf, gch); xp = (xp * 2); } } [/code] [b]quest.c (once again, after the check for qp boost)[/b] [code] // Boost for divine valor. if ((IS_AFFECTED2(ch, AFF2_DIVINE_VALOR)) && (boost_table[BOOST_QP].boost == 100)) { pointreward = (pointreward * 2); } sprintf(buf, "As a reward, I am giving you %d quest points and %d silver.", pointreward, reward); do_say(mob,buf); // Only display "QUEST POINTS boost!" if a qp boost is active -- Areo if(boost_table[BOOST_QP].boost != 100) send_to_char("{WQUEST POINTS boost!{x\n\r", ch); // Echo for divine valor. if ((IS_AFFECTED2(ch, AFF2_DIVINE_VALOR)) && (boost_table[BOOST_QP].boost == 100)) send_to_char("{WThe gods smile upon you and double your quest points! {x\n\r", ch); [/code]
      posted in Coding Discussion
      P
      pollution
    • RE: Aggressive mobs do not attack.
      The problem seems to be related to mobs using conventional attack commands. For anyone that can use switch, try switching to an npc and attacking something. You can't.
      posted in Bug Reports
      P
      pollution
    • Scrolls, Potions, Wands, Staves, etc
      These are all totally fucked up. In oedit they either don't have all the v#'s they should or they have none at all (ie potions should have v0 - v4, in oedit they have none of them). Setting these values sometimes works correctly, in other cases it doesn't. For instance setting the number of charges on a wand seems to work right, but the spell level and spell name do not save correctly. Many, many of these objects are not working correctly in the game, and with oedit also malfunctioning they can't be repaired.
      posted in Bug Reports
      P
      pollution
    • RE: Eq Balancing
      I made a small quest designed for players level 10 - 60 to fill a bit of the hole left by the absence of those haste items. There is an apprentice mage named Emath, the sensitive type, who has spent a lot of time lately searching for the perfect familiar. He loves every animal so much though that he can't make up his mind and pick one, so he brings five of them back to Olaria. Upon arriving he promptly dumps over the cart carrying the animal cages and they all escape. The quest, predictably, is to track them down and bring them back. Violence is discouraged throughout the quest, attacking any of the familiars or Emath will earn you the cold shoulder. Right now the quest is about 95% done, just a few odds and ends to tie up and a bugfix or two to make. The reward for each of the 5 familiars is object 6900, a level 10 potion with level 30 haste and a 25% chance of spawning with level 30 sanctuary also. I intend to make the reward for successfully returning all 5 familiars a potion of double experience, still in development. The quest can be completed once per reboot per player, but the double exp potion can only be acquired once during the lifetime of the character. I'll probably restrict the double exp potion to players of at least level 20, maybe level 30, to keep it from being farmed. Check out mobs 6900 - 6905, tokens 6900 - 6902, and mprogs 6900 - 6907 to look it over. Suggestions welcome.
      posted in Immortal Projects
      P
      pollution
    • Event Queue Snippet
      You know you want it.

      [url]http://www.mudmagic.com/codes/server-snippet/1558[/url]
      [url]http://www.mudmagic.com/codes/server-snippet/1558/board/663/693[/url]
      posted in Coding Discussion
      P
      pollution
    • Grouped Mobs
      [b]Reported by:[/b] Me
      [b]Flags:[/b] Immortal Annoyance

      Mobs in your group, at least those caused to follow and group with you by a prog, still wander around as if free.
      posted in Bug Reports
      P
      pollution
    • Whisper
      [b]Reported by:[/b] Me
      [b]Flags:[/b] Immortal Annoyance

      In scripts whisper doesn't work with a $q (remembered) target. Verified with mobs, unknown with objects or rooms.
      posted in Bug Reports
      P
      pollution