Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Pink Bean Choco

Moongran
Joined
Jan 3, 2012
Messages
506
Reaction score
104
hi. I hate releasing but this is obsolete and Christmas thread peer pressure is too strong.

for those who don't know what it does, you can collect chocolates and when you have them all you summon a dragon. (DBZ ripoff plz)

PHP:
/*
	This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
		       Matthias Butz <matze@odinms.de>
		       Jan Christian Meyer <vimes@odinms.de>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation version 3 as published by
    the Free Software Foundation. You may not use, modify or distribute
    this program under any other version of the GNU Affero General Public
    License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package net.channel.handler;

import client.MapleCharacter;
import client.MapleClient;
import net.AbstractMaplePacketHandler;
import tools.data.input.SeekableLittleEndianAccessor;
import tools.packet.CWvsContext;

/**
 *
 * @author Sai
 */
public class PinkBeanChocoHandler extends AbstractMaplePacketHandler {
    public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
        MapleCharacter chr = c.getPlayer();
        if (chr == null || chr.hasBlockedInventory()) {
            return;
        }
        // 0x1: First chocolate, 3994200
        int flag = 0;
        for (int i = 0, j = 0x1; i < 9; i ++, j *= 2) {
            if (chr.haveItem(3994200 + i)) {
                flag |= j;
            }
        }
        c.getSession().write(CWvsContext.sendPinkBeanChoco(true, false, flag));
    }
}

PHP:
public static byte[] sendPinkBeanChoco(boolean open, boolean close, int flag) {
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort(SendPacketOpcode.PINKBEAN_CHOCO.getValue());
        mplew.writeInt(0);
        mplew.write(open ? 1 : 0); // 1 = open, 0 = update
        mplew.write(close ? 1 : 0); // close = 1
        mplew.write(flag == 0x1FF ? 1 : 0); // boolean, 1 = all full
        mplew.writeInt(flag);

        return mplew.getPacket();
    }

RECV OP CODES:
PINKBEAN_CHOCO_OPEN(0x130)
PINKBEAN_CHOCO_SUMMON(0x131)

SEND OP CODES:
PINKBEAN_CHOCO(0xA8)
0xBC for v147 or v148

note before using:
I don't have the actual dragon spawning packet. too bad.
this was made long ago for v117. I don't know if it still exists.
I hope it works because I haven't executed the code in months.
in the second method posted, it looks like 1 boolean can be removed, but since I don't remember why I made it this way, I left it there.


enjoy moving chocolates around =D

 
Custom Title Activated
Loyal Member
Joined
Mar 14, 2010
Messages
5,363
Reaction score
1,344
Ironically, the cwvs packet is called CWvsContext::OnDragonBallBox with the handler CWvsContext::SendDragonBallBoxRequest. There are other handlers also such as CWvsContext::SendDragonBallSummonRequest. The dragon spawns the reactors which you break for rewards
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,108
Reaction score
1,140
Thanks for this. I had started to implement and fix the opcodes for this, but I never knew wtf it was lol.

So overall you collect pieces, fill the pink bean with pieces to summon the dragon lord, and then it drops some items?
 
Moongran
Joined
Jan 3, 2012
Messages
506
Reaction score
104
if I remember correctly you have to collect 9 chocolates.
their itemid's are inside the code. they are in set-up tab I think, and double clicking opens that small pink bean window, that shows how many you have.
when you have them all you can click the button and send the dragon packet. after some time it spawns boxes(reactors) which drop certain items.
the video I linked has the text and everything.

this isn't complete because the main part, the dragon, is missing.

basically this is a Ducking SHENRON from DBZ.(just like Root Abyss is Alice in the Wonderland...)
 
Custom Title Activated
Loyal Member
Joined
Mar 14, 2010
Messages
5,363
Reaction score
1,344
Thanks for this. I had started to implement and fix the opcodes for this, but I never knew wtf it was lol.

So overall you collect pieces, fill the pink bean with pieces to summon the dragon lord, and then it drops some items?

You fill up the UI with pieces of the chocolate, go to a map away, click it to summon the dragon. The dragon will spawn do some chats to you and also a world wide a message stating he's being summoned and where he's @ (hence go to a map far away) and then he summons the 5 golden dragon boxes (reactors) and you hit them for items.
 
Supreme Arcanarch
Joined
Apr 1, 2012
Messages
946
Reaction score
329
i remember playing with this i never knew it was for the dragon thingy
 
Custom Title Activated
Loyal Member
Joined
Jun 30, 2008
Messages
3,451
Reaction score
1,616
i remember playing with this i never knew it was for the dragon thingy
I remember abusing this by killing the reactor that Nexon left invisible (lel!). Too bad it broadcasted messages to the whole world :(

OT: You are missing something, the dragon itself is a reactor which spawns the other reactors.
 
Skilled Illusionist
Joined
May 28, 2011
Messages
380
Reaction score
38
There is a good bit that happens during the summoning process. I remember I had some issues before summoning the reactor, but figured out the bytes. This was probably my favorite event in MapleStory. TaiwanMS spawned the reactor on the opposite side lol. Their action type values in the wz were different too.

 
Last edited:
Back
Top